From patchwork Fri Aug 11 18:05:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Larson X-Patchwork-Id: 13351278 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 69716EB64DD for ; Fri, 11 Aug 2023 18:05:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236703AbjHKSFp (ORCPT ); Fri, 11 Aug 2023 14:05:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45934 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235863AbjHKSFo (ORCPT ); Fri, 11 Aug 2023 14:05:44 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2060.outbound.protection.outlook.com [40.107.237.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 082372D78; Fri, 11 Aug 2023 11:05:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TIXQdPSejCbnoSdeWNrBdBN5DaesrWThkZX2UDWFpYTQr2Usr2nQ0979nq3pcxsl//EqUqpJd262LPW50h7q2wkrtryng+jH1Acp6LxFCNFQ9Lw3ecL4QNwLPy82/GknqekcKc8NLksuM7IVeCE74Ais+CYH7chOYoaNsJBuy1XZlB2fupb8nCme8Tw434k4kqTCpfMefLmnRQGc9S9ix9OuN4LnesgS/GZ/XN/uYYpBgSYw4l6FPk6A+2/XnR8egUaccg65x4YUBYGcloHxNMu5DKhMaGKspHUc2l0GBRgvFe5s+c3CYwESflqnpyRNQ8Q12BdCkGnhtVPYZMnXKA== 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=dy28TcdtatfE39iP7KmaaFwO5+MCnCgUUyAylO9Y+RE=; b=MMtV0sl1z29gkyke3Yys7TJASfj6+1/NLDEfT7QUmUJOv43798aXiOGXbIEc9zrQHtxNAAuqYao8iHMt+HlokVAY/sjrsxK6SyLDSHV3T/Tc8WWa7QpMAaRjmOz7brC+tIeLAI8Ez/EUPgVgD5T1dQ9DWVteRj/EIRi9bAocR2vCh7l4B69XqR1KJkQhntamgxgmS9lvhBxbhmJnV14uHB1WnlweNvVYhtBXkOqj8NxWFJAik4EPb37b9iY0uioxlZo17No2K70EadLjBCRcqmGna1Bxgr+ttF+LGrohj8gJW95J/ZFQNBCYsWkQt68J8ugEp3YkNXY1Opkmrwvg9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dy28TcdtatfE39iP7KmaaFwO5+MCnCgUUyAylO9Y+RE=; b=ORL9StktDHvyvpLH/uUIDLqGL9J7sEjiKrlJICwRxiXBc3jwZlZ7tfbDGuj30QOur4dsFutY4mjHCzA7j+2DNzsmVdqg2wHRKJdK+YV3eCWO95Bx67hg/SHHJZy7c99EM1Gfmi7wVYhj/DJlh8mkGI1Sk5yeFwtlUOvaCNSyTyc= Received: from SN4PR0501CA0129.namprd05.prod.outlook.com (2603:10b6:803:42::46) by SJ2PR12MB8873.namprd12.prod.outlook.com (2603:10b6:a03:53d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 18:05:38 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:803:42:cafe::f1) by SN4PR0501CA0129.outlook.office365.com (2603:10b6:803:42::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.22 via Frontend Transport; Fri, 11 Aug 2023 18:05:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.19 via Frontend Transport; Fri, 11 Aug 2023 18:05:38 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 13:05:34 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v15 1/6] dt-bindings: arm: add AMD Pensando boards Date: Fri, 11 Aug 2023 11:05:14 -0700 Message-ID: <20230811180519.29644-2-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230811180519.29644-1-blarson@amd.com> References: <20230811180519.29644-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|SJ2PR12MB8873:EE_ X-MS-Office365-Filtering-Correlation-Id: b9654bb8-646c-4b46-40a9-08db9a959179 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ElIZPoUuvYHRItE7HBFidv7msCv0wXydsGeeZ2pluSiu8zR6t4TNkhQsPggTD4p/cTkXab41e5M/BUVJDOUQDXdcicEArKMYlYPKKGklY7FWSoesxC+oy9nNJ0zWN1zyb75c1Ltu8UtaDx3ms9HOjLDUoJB4vQCeS9MLi8sXhDAdbXBKLsExy+Vcc3aYy0R67LjAFVMLEYAobPjOqluBGatV3JSGhZV79N3Mh4RijUjbYJQ6bkPsyPY4KPwEaqOWFzDPFLEeYt0wpLmZrap1TVVpHivdH7rXgOSJzVevI9kO4q6ITbguvTE4v/ruza/02EUunI1b8jucSjUZVAExX7q/b7e4e2x0RhM0OJtLPPssARgAM74fofh1j9vYQETI/TpPAdXrJIfU5ywRUCcRntSh2RwU/WgbYPAQ/oR8GTuxa+IaTpJ2UpJD4rI4wBTYPj2pPWOiYcwqOJHPGqEdInCkWpSmKXUv8ypqrtLkXdDQp+DQvd7ft1vt6Tf/qBu9uKEVuT/cy+1vxentnuKSu0VvPaCb6b6Okx63U5UOFPO0pytwZC/eXmC1twHczyGq1VoIYA3COI4Dwk7liE64pOD38GLgOwQo0Lnc2I6aj+/hpLsk8TlcwP+2ObGjGIPtkozTQnxMnjSQLoqYNlaEuOrKWnAtyoHkH7tuwkf6aTsodHV6VseKugi8iWkgs21fbg32rKzM5wKP6qcWEZNeEFcKGd5c6aDdNkpacPA9Y6hjQ2TskxK+tBP9C6KCi4w+EpDpZOp77R5MyaQkN3KL13/UYfD5KEbnz+6/tTCOTME= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(396003)(136003)(82310400008)(1800799006)(451199021)(186006)(46966006)(36840700001)(40470700004)(8676002)(8936002)(26005)(1076003)(41300700001)(82740400003)(40460700003)(36860700001)(47076005)(36756003)(2906002)(426003)(356005)(81166007)(2616005)(7416002)(7406005)(16526019)(336012)(5660300002)(70586007)(70206006)(6916009)(40480700001)(4326008)(966005)(54906003)(6666004)(478600001)(316002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 18:05:38.3879 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b9654bb8-646c-4b46-40a9-08db9a959179 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8873 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Document the compatible for AMD Pensando Elba SoC boards. Signed-off-by: Brad Larson Reviewed-by: Rob Herring --- .../devicetree/bindings/arm/amd,pensando.yaml | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/amd,pensando.yaml diff --git a/Documentation/devicetree/bindings/arm/amd,pensando.yaml b/Documentation/devicetree/bindings/arm/amd,pensando.yaml new file mode 100644 index 000000000000..e5c2591834a8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/amd,pensando.yaml @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/amd,pensando.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: AMD Pensando SoC Platforms + +maintainers: + - Brad Larson + +properties: + $nodename: + const: "/" + compatible: + oneOf: + + - description: Boards with Pensando Elba SoC + items: + - enum: + - amd,pensando-elba-ortano + - const: amd,pensando-elba + +additionalProperties: true + +... From patchwork Fri Aug 11 18:05:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Larson X-Patchwork-Id: 13351280 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 D51E5C04E69 for ; Fri, 11 Aug 2023 18:05:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236832AbjHKSFr (ORCPT ); Fri, 11 Aug 2023 14:05:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45974 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236829AbjHKSFp (ORCPT ); Fri, 11 Aug 2023 14:05:45 -0400 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2064.outbound.protection.outlook.com [40.107.243.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 055E130DD; Fri, 11 Aug 2023 11:05:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RtI2vx6uOhSL5tBlWrZoyBCRC29jdr/e/AMQJH4y8/3erYgqZCFcaxYHl51+a9CtgO8PL/T6IrSeNav+dM9wzu9QE0OupAri4aQcwQcXyJ7KTcdHU0nKoWogbHENtwIP4KVFDiKAS4D6v5Efk/SvuCmQKsucOR4N8YQBeScUDYf6WlTQrlEir2aOEsgs94RlBY+9pHkQ/b0ey9/ipvAonFOvAH+8Scje1C9cJB+MbF5rETPmn9rYUtdOCoCOwrpzdD6qThSQRON5BdMRyzqnlh0QkYxbUSGqT7xk+yZqA9LqXPZVy8HM9EPgRAvlk3VEryPIjWkNVeV9IQbILKiDUw== 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=KIULXGIP/9zE9qKKh15P7DwPq8RDJ2/MG8LkZS1UI14=; b=PMWGJ4d1TlOdB8WVVFRYZNqSA29Gg6FHxL9kexLwe0kmBqzqhVBZwZCtOEj01bR5LECkLcry/2+tRwLIv4ewPfkqBBnvMQ9URc3m4bRERjlNk+65k9Ej7ocubFwHaEhSkFH4ZMdmZ7QFK8Qa0uCVzPorjKQIYhNBGXYXb5eFIkuTHxjlNIDatOvic2Zg+TQjNV4TEDIxM1cE/x9B8u6yB0utRXpTZ/qZXI/LFHappwnn8NDcayGsTMGyupZSCt/PsLAUvVMdosa6SR2DkNmX+E+gIj2lwObVMHQfXx+kBmJuyLZJdBTSZThnyYuxNtXIyH0D/w7amU0YZJcYp0V/Eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KIULXGIP/9zE9qKKh15P7DwPq8RDJ2/MG8LkZS1UI14=; b=RnCu5giy1JVqVOil9hv0qX9sW2QZBLcTm7Cncnppva98bVs0MuIWqmm5Q28W1foC3748NSiS5Y8Gzv7CIAxuIwwQRJuar231y5IyY6eYkYpMBTcqx9PqjrQhcyvMi+EcPAgiKu8CkT5F1gT9He9Ir9byjFk0Xh5uZgHnu/e3GH0= Received: from SN4PR0501CA0117.namprd05.prod.outlook.com (2603:10b6:803:42::34) by DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 18:05:42 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:803:42:cafe::5) by SN4PR0501CA0117.outlook.office365.com (2603:10b6:803:42::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.7 via Frontend Transport; Fri, 11 Aug 2023 18:05:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.19 via Frontend Transport; Fri, 11 Aug 2023 18:05:41 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 13:05:38 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v15 2/6] dt-bindings: soc: amd: amd,pensando-elba-ctrl: Add Pensando SoC Controller Date: Fri, 11 Aug 2023 11:05:15 -0700 Message-ID: <20230811180519.29644-3-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230811180519.29644-1-blarson@amd.com> References: <20230811180519.29644-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|DS7PR12MB6309:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b84adeb-b16b-436e-0132-08db9a9593a0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: reO3HrYB58wnW8ZaTjJZHePmvZDhDZInC3Y7Pxas9PUyg3qiZDIhsGW2xKQKBN0FTpJGRyHeyryzrzzc/3jwGZoKlWVzsX10mPdeKpFD6UlqvtdDp5D5SG1q8vl1iXtfQZ4zN3h/JZaWfJeywlTl6+T6QiKJsLJWNddcjYzx6/2eKfK8zRCjfN/Vm6bV/kUMbqMo384HeqIZ3k8lnpFW8yNk7drGWSI1IjEU2We5d9FewJKEnDpOMR6p4Eusw4mhBNi7EEYr43hkzuxKzlJM0Bhhjtw6/r5nf97A54NzAxAHE/Mk5hHETVRX5E3enyIlvoJ6Z5GkRX4KOgcq8EcKGLOZpklk2R9FsSCSFHSV/slbmBj5nHsJCXxG3GRJR/g4GE0E4j9UVnQfiU68Sx+21+EytBbKZstx2RhdRKb+gyMeeNRtupWjF2sicocoerx5/mfUfLvgSOrsoQYFKfqbHvPjB4BZmk309CbioYVOd4zHkDrJjcvtYcbUGPxdOx43PnoalDQuHYkgCiv6SUWH8DsMukXblKFARKD4ZVvFwkfFqrkt7Ol4embc2vZSOAzw2moMb8xCYZKK+yzCymiKRnkb0MUIYXBUrypPidSCal7JkRAAkhpTrQ+nWyC8RuWMaWjMTftJI3oo/q8MgC+HTFC/92yszouA3OsswLYjlNR8zHJPmRaJYeieYLw0+KwfC1s/HPuBEtocImPAogaz92QA2p5FOK5eJ6fXR/fivgSTfGyBeRmoGM/cYfn/buqUM69xps8BycL4B7gKO0Hs9GbSuhKbvjOnUSAoHhOJyt4= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(136003)(396003)(346002)(186006)(82310400008)(1800799006)(451199021)(36840700001)(46966006)(40470700004)(40460700003)(2616005)(47076005)(8676002)(316002)(426003)(4326008)(8936002)(7406005)(7416002)(70586007)(5660300002)(36860700001)(36756003)(356005)(41300700001)(82740400003)(40480700001)(70206006)(6916009)(478600001)(83380400001)(54906003)(81166007)(966005)(16526019)(2906002)(6666004)(26005)(336012)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 18:05:41.9973 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b84adeb-b16b-436e-0132-08db9a9593a0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6309 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Support the AMD Pensando Elba SoC Controller which is a SPI connected device providing a miscellaneous set of essential board control/status registers. This device is present in all Pensando SoC based designs. Signed-off-by: Brad Larson Reviewed-by: Krzysztof Kozlowski --- v14 changes: - Change GPL-2.0-only or BSD-2-Clause to GPL-2.0-only OR BSD-2-Clause v11 changes: - Fixed the compatible which should have stayed as 'amd,pensando-elba-ctrl', the commit message, and the filename - Reference spi-peripheral-props - Delete spi-max-frequency - Remove num-cs from example v10 changes: - Property renamed to amd,pensando-ctrl - Driver is renamed and moved to soc/drivers/amd affecting binding - Delete cs property, driver handles device node creation from parent num-cs fixing schema reg error in a different way v9 changes: - Instead of four nodes, one per chip-select, a single node is used with reset-cells in the parent. - No MFD API is used anymore in the driver so it made sense to move this to drivers/spi. - This driver is common for all Pensando SoC based designs so changed the name to pensando-sr.c to not make it Elba SoC specific. - Added property cs for the chip-select number which is used by the driver to create /dev/pensr0. --- .../soc/amd/amd,pensando-elba-ctrl.yaml | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/amd/amd,pensando-elba-ctrl.yaml diff --git a/Documentation/devicetree/bindings/soc/amd/amd,pensando-elba-ctrl.yaml b/Documentation/devicetree/bindings/soc/amd/amd,pensando-elba-ctrl.yaml new file mode 100644 index 000000000000..e96978ad1e37 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/amd/amd,pensando-elba-ctrl.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/amd/amd,pensando-elba-ctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: AMD Pensando Elba SoC Controller + +description: + The AMD Pensando Elba SoC Controller is a SPI connected device with essential + control/status registers accessed on chip select 0. This device is present + in all Pensando SoC based designs. + +maintainers: + - Brad Larson + +properties: + compatible: + enum: + - amd,pensando-elba-ctrl + + reg: + maxItems: 1 + + '#reset-cells': + const: 1 + + interrupts: + maxItems: 1 + +required: + - compatible + - '#reset-cells' + +allOf: + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + + spi { + #address-cells = <1>; + #size-cells = <0>; + + system-controller@0 { + compatible = "amd,pensando-elba-ctrl"; + reg = <0>; + spi-max-frequency = <12000000>; + interrupt-parent = <&porta>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + #reset-cells = <1>; + }; + }; + +... From patchwork Fri Aug 11 18:05:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Larson X-Patchwork-Id: 13351281 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 50161C04A94 for ; Fri, 11 Aug 2023 18:06:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236975AbjHKSGD (ORCPT ); Fri, 11 Aug 2023 14:06:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236950AbjHKSFu (ORCPT ); Fri, 11 Aug 2023 14:05:50 -0400 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2056.outbound.protection.outlook.com [40.107.96.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 684C130DA; Fri, 11 Aug 2023 11:05:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KoaFWwLhUcAsuXLqLw7z+ndoIi3iloD39E6UcdJ1GStsqfj8CDNB35gDfmx9nqu8xux3uG1me9fS5OJjH8gOnngb8Y67aSn2HETPxX8oUAOdEEP6fMIqvMukqUyg6pa3XnIWSH6nHEunrsQK+DDAjJkoawE3q5u3PbBLYXjN1v4/aMe2MF7mZTOyE+9G1thrhQO+gFzEdYRHrx926NRC1YwUtml+kBMdnklqIMujOf7/ByEMj3sZRg83gKOEoXFUwYdTsFz37jqZZtN92+bngBAfR0JtnkfOgV7T52jTw1mRzUTxL9FHuDO+fHO5B7mWJrrBegaolksYw6t1FaSVfg== 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=EA92WgrlWrid5aKLeciZZapIIEt+bNKHUxGNU1NunH0=; b=lwkPSBnU8NzPEgo8+q33DJwGvNHpybE78KTRdoFbK5dhByTLEkU7iMWcurBMI0ZCyeIur8MY1VA12uHSbmNIakv4cxRgaDDy/qQjlM8wOb9Ze9DPHiSQmXPcJ0XBEjaijd9J5vwA8vHzmXEqV+uGYNe8y9PvLkRkYrzu/SShT09kENYJsLlJgQdsy2/LFfIIcJb2FOpxFj8dtSmN/SPH3Vh5lq3BqLtLr7sp1J94YrN9Sl3Te5tkAbrzJjSWI57NW1SjwZtnExtY7wzU2U94vfYYnmb/51u8umG233DkXD2mXhDCOWDojkKleDrOL6qZkUT5X0lDg83LsFXPnlSp9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EA92WgrlWrid5aKLeciZZapIIEt+bNKHUxGNU1NunH0=; b=mQ0UEv+0ea7b5pj4pHAIna59Ru+Dh6aAEJ2jlJv864aRGwzsXCB256be51yD1/PvLfSKQWh+g59Q26ISVAnYJf/DmWILmMKH2+GmabOY2YocBZzRZQK2A2PxtWch/T4f7Y95XLhGhbLWClsbDV/DdMcYcOD5EE5IFMKMD7/b8iE= Received: from SA1P222CA0175.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::21) by PH8PR12MB7026.namprd12.prod.outlook.com (2603:10b6:510:1bd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 18:05:46 +0000 Received: from SN1PEPF00026368.namprd02.prod.outlook.com (2603:10b6:806:3c4:cafe::f7) by SA1P222CA0175.outlook.office365.com (2603:10b6:806:3c4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 18:05:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF00026368.mail.protection.outlook.com (10.167.241.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.20 via Frontend Transport; Fri, 11 Aug 2023 18:05:45 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 13:05:41 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v15 3/6] MAINTAINERS: Add entry for AMD PENSANDO Date: Fri, 11 Aug 2023 11:05:16 -0700 Message-ID: <20230811180519.29644-4-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230811180519.29644-1-blarson@amd.com> References: <20230811180519.29644-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026368:EE_|PH8PR12MB7026:EE_ X-MS-Office365-Filtering-Correlation-Id: 4376011b-8835-4c87-0a99-08db9a9595e3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gF/dR/AerwciwP83dmuJskExlnm+lcFe/Ai3jq8+t5Ebe+lRFi6LaSEGeSHioHhDAT4RR4aKwyOqKwqdjOpjmYwz3GkIw5OeKJd43/D6nDd97vB+gSOCDFgHKlNtgiyUVm+dCZ6ZXnvO6w8yYMF80z0FhYtn2Q5K+vZLnkAyVw1IMPgb6b/6eFiiLdDOMNOB+gFsy5YLhWPg3vSo+NUa6O8pvSCDJgipdcYYUizEI7reUsAd0O75myVs9xIi4C8XcVci0ODypmjI2OeZYLVYNh6Mc/tDredj0saqI37tnLto58wVILXolvjNUOr4QUK7mtiq7P9SIppM/MEn7O+AcM236fOTh4+N01ZwmHGHdYvWVQTx9SVGFB7cBmkwo7SdW26LjhIQPD25c3gZuKA/iO9rxnHkOBoExqMzKiAxuD9LFzf0Xz/nbSWeENLOkzdJCPXej6ddx3NiMk/Oq9Qb6ZvigKXAnhq32rW4vQ1k5pNivS6Zpd7MNUI+F220J1Atsuk5K9k8euBtNFRsLVDss8rkTXYnbTsd/rxYQpCyhXP4+rRltT47WmJtssHLpmP1aQaTRdJsPZmmKlMVDYyA57i/uX3sCTYjP79RuS8gkRk4OCwO69z2zhOFVHT/VLed5mnKUTA0ELfHu1SVKCGRq1CwXiNLmVQsxRJHiVFLUPHtSOBQGuriSWqb0B72bVL1cRQrwefvYzXKIus9UEiLRr07zbdeJcmJ+e4cN5k5YD9S93wfHDhJaVdLemNFIPXqiyjl4ZKxwu5Vvc1rBSmDyQ== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(376002)(136003)(346002)(396003)(39860400002)(82310400008)(451199021)(1800799006)(186006)(36840700001)(46966006)(40470700004)(4326008)(426003)(40460700003)(336012)(83380400001)(81166007)(16526019)(2906002)(40480700001)(54906003)(2616005)(478600001)(36860700001)(7406005)(7416002)(5660300002)(26005)(6666004)(1076003)(316002)(36756003)(8676002)(8936002)(41300700001)(70586007)(47076005)(70206006)(4744005)(356005)(6916009)(82740400003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 18:05:45.7765 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4376011b-8835-4c87-0a99-08db9a9595e3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026368.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7026 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add entry for AMD PENSANDO maintainer and files Signed-off-by: Brad Larson --- MAINTAINERS | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 3be1bdfe8ecc..fdff6b0ca0d7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1804,6 +1804,16 @@ N: allwinner N: sun[x456789]i N: sun[25]0i +ARM/AMD PENSANDO ARM64 ARCHITECTURE +M: Brad Larson +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Supported +F: Documentation/devicetree/bindings/*/amd,pensando* +F: Documentation/devicetree/bindings/soc/amd/amd,pensando* +F: arch/arm64/boot/dts/amd/elba* +F: drivers/soc/amd/ +F: include/uapi/linux/amd-pensando* + ARM/Amlogic Meson SoC CLOCK FRAMEWORK M: Neil Armstrong M: Jerome Brunet From patchwork Fri Aug 11 18:05:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Larson X-Patchwork-Id: 13351282 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 23468C001DE for ; Fri, 11 Aug 2023 18:06:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237028AbjHKSGI (ORCPT ); Fri, 11 Aug 2023 14:06:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236997AbjHKSGE (ORCPT ); Fri, 11 Aug 2023 14:06:04 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2082.outbound.protection.outlook.com [40.107.92.82]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1218E3592; Fri, 11 Aug 2023 11:05:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H5uwFAdV65djgMNXyZQ6kmtvVsebl+0StUcuiKy0d6yrg7bW7A7LiTIg82bLp/pr1ozuCwubDPlBwjbTXc45oRGjqO7zAzM5KaqSKLubaJEozIClUE2NpMgfeVA9tEZ1WuhtrZ/Jk3uTiT22zTKwmjv43H7kP5pPLIdI2kSVrgEzs+60eDCgF96u+kyrE/nVZB8LviAKXMXJXdjJFHhs042XAw14UhcL26bHYwywzLNVJzQG7UpIy6IkND4HH4F9VKFdj0oAu2euqXWwAcq3rCdRyWo0jF3mt3X2P3FeQWOWBu/8xTDMt0aa3KDsBrC/YKvPg50rzg4T83yCUBNmnA== 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=S8YrKyss3u7AXOORYMvwRBtA3275Mv6+bnsgcxgDrNM=; b=MHFwYb78Uxf3Sd1OtOxhuQAe+0NZPRjuk0GIP5VRNo+FIEtauszl3Fh2inKHf/IpmBx7DECW2raCZVnJcpuAOvFA8VgVsf40fRY2lzGQeoQ4xRP2omh7R52oK6F3dm/vuwvvHfQwCNaxB/OHhlU9fQPIe/bWo/34AjCoW7RwoAPNyYklW/nRUaGsElClGWA9mGnGVsvbRIf8d9I2/fRQYTTqAhtc/WVIPlruqnQ6myLkAByrTPcccS9uR5kwThY3KXw+KWQ/m91eXIZWrrai2O+sryL2cWPZler2siUOsobbq6CtXM6QRL3cyV2IQRMYXS+P1XUSrBfGT44ui2gmMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S8YrKyss3u7AXOORYMvwRBtA3275Mv6+bnsgcxgDrNM=; b=ho8BLmWcgO8GxxDwDXjmjaVT/gl8BO2VUxKkzYje9hI8bf5hzFWhRcSZ+kkxtwXpaVnEMVRWcPa7NBNxbhORmmNe7LbvMqBum1zq3ddhpxRdXugJ8eshn32ht4ELpgxv+wX5VbKJCS2e2auebh7zHQnWKD4KHjrdmr+HC/NGD5g= Received: from SA1P222CA0178.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::26) by IA0PR12MB7750.namprd12.prod.outlook.com (2603:10b6:208:431::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 18:05:50 +0000 Received: from SN1PEPF0002636E.namprd02.prod.outlook.com (2603:10b6:806:3c4:cafe::97) by SA1P222CA0178.outlook.office365.com (2603:10b6:806:3c4::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 18:05:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636E.mail.protection.outlook.com (10.167.241.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.19 via Frontend Transport; Fri, 11 Aug 2023 18:05:49 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 13:05:45 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v15 4/6] arm64: Add config for AMD Pensando SoC platforms Date: Fri, 11 Aug 2023 11:05:17 -0700 Message-ID: <20230811180519.29644-5-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230811180519.29644-1-blarson@amd.com> References: <20230811180519.29644-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636E:EE_|IA0PR12MB7750:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a5023a6-4cbb-49ea-816a-08db9a959812 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fudT+/r/oa+XFUHm03jILkX7MLqNRaI/89tSBeALzFif+bcqyyU+/d4LzwhFWOGpBh8zpzZPwfPS0+aPfD3o4uhzhMwLsarKDSRcyDFCBckWzgn+UI3R0VMKOtPtLm7PVGvmzGWOhYxRvn/wqoQq/9aXp3A00M5cl3Tu2rEmm1eMF+/INycGRyrQfG+nBV3aktBMjZX+ctGCYkK21wsDN8d/lkx4dOqe9UqApNEyoLOJKjSjNG8Ji2b35hWAexXbLKGNMjCgl1Ge4a/4um3AushOwPv5t7+TtLGijUR5irbb5gPDQHoikmMujJ9zco4Y8n886RzhcM0SVWQhxNbsFAd8JUR3KTApjj81g0eYUy+au0/mOJgQ+CuA706p/u89+x0ETa1vPVCEXX6/9z29eiUESro0CD+xJzRJ2Xgm3zG2dyIVE3/y+ZZu2ia9VPHMNECn0SWiluMdpDIqNo2/nOG/shTtP1LnsvJWDlL/F+xEDlapSrZbXnE6S0PGZY+mMYSI+vZi028/PW6BAc3wawixGK7FHUWXSUJslLGz7Y+ALEU+vAh78F1D6kHJulBMPgoQVMG53nNu3TpDiq7N9mIfNrul7PLM0vehngzytw6LwkytpPDm5sQ3LcDS4OABLEkMiPoFfB1URMN6ahrWWHYxRFA5WnpSf6aRdNzy7zoBB5e59fqKcTVWftXmMsT6bmufD6NrdIItsRb4yyi6y+dQCjcXYtmnaglvJ/sHGUew84l+Qtz+o3r+hL6td+02svQkvz2D6VncxyojDjSS7A== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(39860400002)(346002)(136003)(82310400008)(186006)(1800799006)(451199021)(40470700004)(46966006)(36840700001)(426003)(1076003)(82740400003)(26005)(40460700003)(36756003)(2906002)(336012)(356005)(16526019)(81166007)(40480700001)(54906003)(2616005)(7416002)(36860700001)(7406005)(6666004)(5660300002)(316002)(478600001)(8676002)(41300700001)(8936002)(4744005)(4326008)(6916009)(70206006)(70586007)(47076005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 18:05:49.2867 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3a5023a6-4cbb-49ea-816a-08db9a959812 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7750 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add ARCH_PENSANDO configuration option for AMD Pensando SoC based platforms. Signed-off-by: Brad Larson --- arch/arm64/Kconfig.platforms | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 6069120199bb..9d09a1cc15ee 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -244,6 +244,18 @@ config ARCH_NPCM General support for NPCM8xx BMC (Arbel). Nuvoton NPCM8xx BMC based on the Cortex A35. +config ARCH_PENSANDO + bool "AMD Pensando Platforms" + help + This enables support for the ARMv8 based AMD Pensando SoC + family to include the Elba SoC. + + AMD Pensando SoCs support a range of Distributed Services + Cards in PCIe format installed into servers. The Elba + SoC includes 16 A-72 CPU cores, 144 programmable P4 + cores for a minimal latency/jitter datapath, and network + interfaces up to 200 Gb/s. + config ARCH_QCOM bool "Qualcomm Platforms" select GPIOLIB From patchwork Fri Aug 11 18:05:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Larson X-Patchwork-Id: 13351283 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 BF3BBC04E69 for ; Fri, 11 Aug 2023 18:06:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237002AbjHKSGK (ORCPT ); Fri, 11 Aug 2023 14:06:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237006AbjHKSGF (ORCPT ); Fri, 11 Aug 2023 14:06:05 -0400 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2080.outbound.protection.outlook.com [40.107.102.80]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E1AF430D8; Fri, 11 Aug 2023 11:05:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fe3h9mXVdg50X+PP+zyaLwoIz4BGzuTUEo8/lJvI/t8nxfVQjoz9Jn/R6yBKmzjfkK/bzOsFs+3qv0ibc1QsL+AYqgMTdd7iiQaIDKl4/gfbid8G9ng1tyJ1WioxBDtYT1GjGD4dRXRnGrFlDUg8UhTQeg4PZyI0JDgbkUl2q/z9wfU5x3WWiiO6jsK9qqGTpiJzVV8DutaRgf1MNmI8r144HMsNy8GgSW67ZK8UxOaz6GfgbRVamwlgExyrLrm6Hj2pF530lcksYya6A+Way/tJlFeqGquYjJNZWb8zsPM5HY/d8+hnawELHDYmccTmlrh/aqF4oLS9HOzDOELScg== 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=4spsLBcSfak2kw1Kai0KS8ApdE1+qzWCVHFcghLuhq4=; b=SEvzsryVBkOGnrVl8OPWa2XWS33gL+wXOUgs/h1TeZ8ZKqJ+Xh2OHqE/uapX2io3w6rDFYx3dflAfC0DTDG6m+T6U63CLMtCkZfXddyzv4wz8KfkVAtH3cOQoyCrjsFPqAcPaNPSVKkV9n7WzysXz/4UUUZUWJnq/WwS2oBgW69bGMJ9MYwq/fwjc3mcuqdQt0+/vPfP6OW08iBgZMqKQcI4b3a7qvZDf6Zw5VIPih58789CwlY49S/irAB3ZeVChXBwmcFbgkDqpmUpCSToPzlwWF/vmaQsX/PGfVrPnu2ScksEZjBJ/vZLOrv2M5XRDQTaQY7k5uj7bwvgW6DQLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4spsLBcSfak2kw1Kai0KS8ApdE1+qzWCVHFcghLuhq4=; b=vMWbAKBhPHbgkXOpG9bSj805uVhgIlNmn7/X/tlkHCOexI3u6rKl5F42QfzyPle1H/91lx9a94vyeg+L4TLt6njEaDPjIGwgINS1ST19mb0JxYl/XrrIbVaMksXeN4SCNmOeXcHNp5LauddeLT580d4GTtxu4cEJZrsrRMgn0vw= Received: from SN7PR04CA0092.namprd04.prod.outlook.com (2603:10b6:806:122::7) by IA1PR12MB7662.namprd12.prod.outlook.com (2603:10b6:208:425::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 18:05:53 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:122:cafe::2d) by SN7PR04CA0092.outlook.office365.com (2603:10b6:806:122::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 18:05:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.19 via Frontend Transport; Fri, 11 Aug 2023 18:05:53 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 13:05:49 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v15 5/6] arm64: dts: Add AMD Pensando Elba SoC support Date: Fri, 11 Aug 2023 11:05:18 -0700 Message-ID: <20230811180519.29644-6-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230811180519.29644-1-blarson@amd.com> References: <20230811180519.29644-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|IA1PR12MB7662:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e125cc8-1912-46bc-f058-08db9a959a67 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mEhAw/aHp5BJ1txVw8nKftFDzTsIUq5NjwQhFNs+ZxzvpJJwXHCWr9k0iwn48+quiYgg78X7eDe9Q4aa3cvihg/t9sQ8E4N0d+Kl6PwXgmrvlyyF0w2mlprs4oEZsYwGmMFkgex5BzuC+uhicVlduaYWI3WAzkax8geUcUK/uNzViBJaXZv3fEoiciOFF3oTtflk5CNtpLpJH6zwpbzBvUfHepUZcSlnH6BPr0Ue2Dcazq3k7L491kZeAa8gVmG7/GZGOCOHdQ9r7Qj6rJ2sazh5mp1TanUN1sQ2bEe+eKuukQKen39X/nXZbIvwGUxEI6NvyPVB9/RSmnUX6mLkWjxx3OQ2TsmxPdtbEjGdDj6P9VY5tYvwyJnY2wBQU+vv38VqyUTTcTYbYqfM4EZ5FPiM8PUWfADiKpu3R+6zaML9rqQmv84LNgJrJArgJ89wCJOzqtvvrG3Uo0xhFrm0Lpm0PNN6IJjjl8HiRkEvtuY0ZLtKoK6qPgi1EzL151QjkI/W8gNg2O22mfjPc+kFKpOegN3yx2JBYIYRZylzLcFNGppxllIZlZ5dBOl6BUcR0XrMEkDTBNbmPrtvHmTWgS+PHWkNkb1EzAv0RGMmnVOI9Jmiig3hkQHMNmY3bZWZlYgz/ZFgmdk7ARmciuH8cL9w0WE/PLxPR3tNJcE9gfITvoLDHyB64oknSrt9syFrYqH7Ck5ub8rlqf7KYrmf0GbNGtw1HCVLHhpjG7VEmaUclAOS4RL0VkpQm6BaR5ZwA6PCd+JHCQf2ZYAeHaKh4g== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(376002)(39860400002)(136003)(82310400008)(1800799006)(451199021)(186006)(46966006)(36840700001)(40470700004)(8676002)(40460700003)(8936002)(26005)(1076003)(41300700001)(36860700001)(47076005)(2906002)(426003)(83380400001)(30864003)(36756003)(356005)(81166007)(2616005)(16526019)(7406005)(7416002)(336012)(82740400003)(6916009)(70206006)(40480700001)(70586007)(4326008)(54906003)(478600001)(6666004)(5660300002)(316002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 18:05:53.3583 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6e125cc8-1912-46bc-f058-08db9a959a67 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7662 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add AMD Pensando common and Elba SoC specific device nodes Signed-off-by: Brad Larson Reviewed-by: Krzysztof Kozlowski --- v15 changes: - The first cell in the cpu reg property is always zero. Change address-cells to <1> and dropped the leading zero from all cpu* reg<> - Added read-only and spare partitions to flash0 v14 changes: - Fix dtbs_check l2-cache* property issue by adding required cache-level and cache-unified properties - Observed the issue after updating dtschema from 2023.1 to 2023.4 and yamllint from 1.26.3 to 1.30.0 v11 changes: - Delete reset-names - Fix spi0 compatible to be specific 'amd,pensando-elba-ctrl' v9 changes: - Single node for spi0 system-controller and squash the reset-controller child into parent --- arch/arm64/boot/dts/amd/Makefile | 1 + arch/arm64/boot/dts/amd/elba-16core.dtsi | 197 ++++++++++++++++++ arch/arm64/boot/dts/amd/elba-asic-common.dtsi | 80 +++++++ arch/arm64/boot/dts/amd/elba-asic.dts | 28 +++ arch/arm64/boot/dts/amd/elba-flash-parts.dtsi | 117 +++++++++++ arch/arm64/boot/dts/amd/elba.dtsi | 191 +++++++++++++++++ 6 files changed, 614 insertions(+) create mode 100644 arch/arm64/boot/dts/amd/elba-16core.dtsi create mode 100644 arch/arm64/boot/dts/amd/elba-asic-common.dtsi create mode 100644 arch/arm64/boot/dts/amd/elba-asic.dts create mode 100644 arch/arm64/boot/dts/amd/elba-flash-parts.dtsi create mode 100644 arch/arm64/boot/dts/amd/elba.dtsi diff --git a/arch/arm64/boot/dts/amd/Makefile b/arch/arm64/boot/dts/amd/Makefile index 68103a8b0ef5..8502cc2afbc5 100644 --- a/arch/arm64/boot/dts/amd/Makefile +++ b/arch/arm64/boot/dts/amd/Makefile @@ -1,2 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 +dtb-$(CONFIG_ARCH_PENSANDO) += elba-asic.dtb dtb-$(CONFIG_ARCH_SEATTLE) += amd-overdrive-rev-b0.dtb amd-overdrive-rev-b1.dtb diff --git a/arch/arm64/boot/dts/amd/elba-16core.dtsi b/arch/arm64/boot/dts/amd/elba-16core.dtsi new file mode 100644 index 000000000000..568bcc39ce9f --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba-16core.dtsi @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Copyright 2020-2023 Advanced Micro Devices, Inc. + */ + +/ { + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu-map { + cluster0 { + core0 { cpu = <&cpu0>; }; + core1 { cpu = <&cpu1>; }; + core2 { cpu = <&cpu2>; }; + core3 { cpu = <&cpu3>; }; + }; + + cluster1 { + core0 { cpu = <&cpu4>; }; + core1 { cpu = <&cpu5>; }; + core2 { cpu = <&cpu6>; }; + core3 { cpu = <&cpu7>; }; + }; + + cluster2 { + core0 { cpu = <&cpu8>; }; + core1 { cpu = <&cpu9>; }; + core2 { cpu = <&cpu10>; }; + core3 { cpu = <&cpu11>; }; + }; + + cluster3 { + core0 { cpu = <&cpu12>; }; + core1 { cpu = <&cpu13>; }; + core2 { cpu = <&cpu14>; }; + core3 { cpu = <&cpu15>; }; + }; + }; + + /* CLUSTER 0 */ + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x0>; + next-level-cache = <&l2_0>; + enable-method = "psci"; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x1>; + next-level-cache = <&l2_0>; + enable-method = "psci"; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x2>; + next-level-cache = <&l2_0>; + enable-method = "psci"; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x3>; + next-level-cache = <&l2_0>; + enable-method = "psci"; + }; + + l2_0: l2-cache0 { + compatible = "cache"; + cache-unified; + cache-level = <2>; + }; + + /* CLUSTER 1 */ + cpu4: cpu@100 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x100>; + next-level-cache = <&l2_1>; + enable-method = "psci"; + }; + + cpu5: cpu@101 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x101>; + next-level-cache = <&l2_1>; + enable-method = "psci"; + }; + + cpu6: cpu@102 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x102>; + next-level-cache = <&l2_1>; + enable-method = "psci"; + }; + + cpu7: cpu@103 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x103>; + next-level-cache = <&l2_1>; + enable-method = "psci"; + }; + + l2_1: l2-cache1 { + compatible = "cache"; + cache-unified; + cache-level = <2>; + }; + + /* CLUSTER 2 */ + cpu8: cpu@200 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x200>; + next-level-cache = <&l2_2>; + enable-method = "psci"; + }; + + cpu9: cpu@201 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x201>; + next-level-cache = <&l2_2>; + enable-method = "psci"; + }; + + cpu10: cpu@202 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x202>; + next-level-cache = <&l2_2>; + enable-method = "psci"; + }; + + cpu11: cpu@203 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x203>; + next-level-cache = <&l2_2>; + enable-method = "psci"; + }; + + l2_2: l2-cache2 { + compatible = "cache"; + cache-unified; + cache-level = <2>; + }; + + /* CLUSTER 3 */ + cpu12: cpu@300 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x300>; + next-level-cache = <&l2_3>; + enable-method = "psci"; + }; + + cpu13: cpu@301 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x301>; + next-level-cache = <&l2_3>; + enable-method = "psci"; + }; + + cpu14: cpu@302 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x302>; + next-level-cache = <&l2_3>; + enable-method = "psci"; + }; + + cpu15: cpu@303 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0x303>; + next-level-cache = <&l2_3>; + enable-method = "psci"; + }; + + l2_3: l2-cache3 { + compatible = "cache"; + cache-unified; + cache-level = <2>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba-asic-common.dtsi b/arch/arm64/boot/dts/amd/elba-asic-common.dtsi new file mode 100644 index 000000000000..1a615788f54e --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba-asic-common.dtsi @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Copyright 2020-2022 Advanced Micro Devices, Inc. + */ + +&ahb_clk { + clock-frequency = <400000000>; +}; + +&emmc_clk { + clock-frequency = <200000000>; +}; + +&flash_clk { + clock-frequency = <400000000>; +}; + +&ref_clk { + clock-frequency = <156250000>; +}; + +&qspi { + status = "okay"; + + flash0: flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + spi-rx-bus-width = <2>; + m25p,fast-read; + cdns,read-delay = <0>; + cdns,tshsl-ns = <0>; + cdns,tsd2d-ns = <0>; + cdns,tchsh-ns = <0>; + cdns,tslch-ns = <0>; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&emmc { + bus-width = <8>; + cap-mmc-hw-reset; + resets = <&rstc 0>; + status = "okay"; +}; + +&wdt0 { + status = "okay"; +}; + +&i2c0 { + clock-frequency = <100000>; + status = "okay"; + + rtc@51 { + compatible = "nxp,pcf85263"; + reg = <0x51>; + }; +}; + +&spi0 { + #address-cells = <1>; + #size-cells = <0>; + num-cs = <4>; + cs-gpios = <0>, <0>, <&porta 1 GPIO_ACTIVE_LOW>, + <&porta 7 GPIO_ACTIVE_LOW>; + status = "okay"; + + rstc: system-controller@0 { + compatible = "amd,pensando-elba-ctrl"; + reg = <0>; + spi-max-frequency = <12000000>; + interrupt-parent = <&porta>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + #reset-cells = <1>; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba-asic.dts b/arch/arm64/boot/dts/amd/elba-asic.dts new file mode 100644 index 000000000000..c3f4da2f7449 --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba-asic.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Device Tree file for AMD Pensando Elba Board. + * + * Copyright 2020-2022 Advanced Micro Devices, Inc. + */ + +/dts-v1/; + +#include "elba.dtsi" +#include "elba-16core.dtsi" +#include "elba-asic-common.dtsi" +#include "elba-flash-parts.dtsi" + +/ { + model = "AMD Pensando Elba Board"; + compatible = "amd,pensando-elba-ortano", "amd,pensando-elba"; + + aliases { + serial0 = &uart0; + spi0 = &spi0; + spi1 = &qspi; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi b/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi new file mode 100644 index 000000000000..9bffdf23511f --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi @@ -0,0 +1,117 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Copyright 2020-2022 Advanced Micro Devices, Inc. + */ + +&flash0 { + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "rsvd"; + reg = <0x0 0x10000>; + read-only; + }; + + partition@10000 { + label = "flash"; + reg = <0x10000 0xfff0000>; + }; + + partition@f0000 { + label = "golduenv"; + reg = <0xf0000 0x10000>; + }; + + partition@100000 { + label = "boot0"; + reg = <0x100000 0x80000>; + }; + + partition@180000 { + label = "golduboot"; + reg = <0x180000 0x200000>; + }; + + partition@380000 { + label = "brdcfg0"; + reg = <0x380000 0x10000>; + }; + + partition@390000 { + label = "brdcfg1"; + reg = <0x390000 0x10000>; + }; + + partition@400000 { + label = "goldfw"; + reg = <0x400000 0x3c00000>; + }; + + partition@4010000 { + label = "fwmap"; + reg = <0x4010000 0x20000>; + }; + + partition@4030000 { + label = "fwsel"; + reg = <0x4030000 0x20000>; + }; + + partition@4090000 { + label = "bootlog"; + reg = <0x4090000 0x20000>; + }; + + partition@40b0000 { + label = "panicbuf"; + reg = <0x40b0000 0x20000>; + }; + + partition@40d0000 { + label = "uservars"; + reg = <0x40d0000 0x20000>; + }; + + partition@4200000 { + label = "uboota"; + reg = <0x4200000 0x400000>; + }; + + partition@4600000 { + label = "ubootb"; + reg = <0x4600000 0x400000>; + }; + + partition@4a00000 { + label = "mainfwa"; + reg = <0x4a00000 0x1000000>; + }; + + partition@5a00000 { + label = "mainfwb"; + reg = <0x5a00000 0x1000000>; + }; + + partition@6a00000 { + label = "diaguboot"; + reg = <0x6a00000 0x400000>; + }; + + partition@6e00000 { + label = "spare"; + reg = <0x6e00000 0x1200000>; + }; + + partition@8000000 { + label = "diagfw"; + reg = <0x8000000 0x7fe0000>; + }; + + partition@ffe0000 { + label = "ubootenv"; + reg = <0xffe0000 0x10000>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba.dtsi b/arch/arm64/boot/dts/amd/elba.dtsi new file mode 100644 index 000000000000..674890cf2a34 --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba.dtsi @@ -0,0 +1,191 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Copyright 2020-2022 Advanced Micro Devices, Inc. + */ + +#include +#include "dt-bindings/interrupt-controller/arm-gic.h" + +/ { + model = "Elba ASIC Board"; + compatible = "amd,pensando-elba"; + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + dma-coherent; + + ahb_clk: oscillator0 { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + + emmc_clk: oscillator2 { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + + flash_clk: oscillator3 { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + + ref_clk: oscillator4 { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + }; + + pmu { + compatible = "arm,cortex-a72-pmu"; + interrupts = ; + }; + + soc: soc { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + i2c0: i2c@400 { + compatible = "snps,designware-i2c"; + reg = <0x0 0x400 0x0 0x100>; + clocks = <&ahb_clk>; + #address-cells = <1>; + #size-cells = <0>; + i2c-sda-hold-time-ns = <480>; + interrupts = ; + status = "disabled"; + }; + + wdt0: watchdog@1400 { + compatible = "snps,dw-wdt"; + reg = <0x0 0x1400 0x0 0x100>; + clocks = <&ahb_clk>; + interrupts = ; + status = "disabled"; + }; + + qspi: spi@2400 { + compatible = "amd,pensando-elba-qspi", "cdns,qspi-nor"; + reg = <0x0 0x2400 0x0 0x400>, + <0x0 0x7fff0000 0x0 0x1000>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + clocks = <&flash_clk>; + cdns,fifo-depth = <1024>; + cdns,fifo-width = <4>; + cdns,trigger-address = <0x7fff0000>; + status = "disabled"; + }; + + spi0: spi@2800 { + compatible = "amd,pensando-elba-spi"; + reg = <0x0 0x2800 0x0 0x100>; + #address-cells = <1>; + #size-cells = <0>; + amd,pensando-elba-syscon = <&syscon>; + clocks = <&ahb_clk>; + interrupts = ; + num-cs = <2>; + status = "disabled"; + }; + + gpio0: gpio@4000 { + compatible = "snps,dw-apb-gpio"; + reg = <0x0 0x4000 0x0 0x78>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + + porta: gpio-port@0 { + compatible = "snps,dw-apb-gpio-port"; + reg = <0>; + gpio-controller; + #gpio-cells = <2>; + ngpios = <8>; + interrupts = ; + interrupt-controller; + interrupt-parent = <&gic>; + #interrupt-cells = <2>; + }; + + portb: gpio-port@1 { + compatible = "snps,dw-apb-gpio-port"; + reg = <1>; + gpio-controller; + #gpio-cells = <2>; + ngpios = <8>; + }; + }; + + uart0: serial@4800 { + compatible = "ns16550a"; + reg = <0x0 0x4800 0x0 0x100>; + clocks = <&ref_clk>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + }; + + gic: interrupt-controller@800000 { + compatible = "arm,gic-v3"; + reg = <0x0 0x800000 0x0 0x200000>, /* GICD */ + <0x0 0xa00000 0x0 0x200000>, /* GICR */ + <0x0 0x60000000 0x0 0x2000>, /* GICC */ + <0x0 0x60010000 0x0 0x1000>, /* GICH */ + <0x0 0x60020000 0x0 0x2000>; /* GICV */ + #address-cells = <2>; + #size-cells = <2>; + #interrupt-cells = <3>; + ranges; + interrupt-controller; + interrupts = ; + + /* + * Elba specific pre-ITS is enabled using the + * existing property socionext,synquacer-pre-its + */ + gic_its: msi-controller@820000 { + compatible = "arm,gic-v3-its"; + reg = <0x0 0x820000 0x0 0x10000>; + msi-controller; + #msi-cells = <1>; + socionext,synquacer-pre-its = + <0xc00000 0x1000000>; + }; + }; + + emmc: mmc@30440000 { + compatible = "amd,pensando-elba-sd4hc", "cdns,sd4hc"; + reg = <0x0 0x30440000 0x0 0x10000>, + <0x0 0x30480044 0x0 0x4>; /* byte-lane ctrl */ + clocks = <&emmc_clk>; + interrupts = ; + cdns,phy-input-delay-sd-highspeed = <0x4>; + cdns,phy-input-delay-legacy = <0x4>; + cdns,phy-input-delay-sd-uhs-sdr50 = <0x6>; + cdns,phy-input-delay-sd-uhs-ddr50 = <0x16>; + mmc-ddr-1_8v; + status = "disabled"; + }; + + syscon: syscon@307c0000 { + compatible = "amd,pensando-elba-syscon", "syscon"; + reg = <0x0 0x307c0000 0x0 0x3000>; + }; + }; +}; From patchwork Fri Aug 11 18:05:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Larson X-Patchwork-Id: 13351284 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 C58ACC04A94 for ; Fri, 11 Aug 2023 18:06:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237037AbjHKSGf (ORCPT ); Fri, 11 Aug 2023 14:06:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237054AbjHKSG0 (ORCPT ); Fri, 11 Aug 2023 14:06:26 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2086.outbound.protection.outlook.com [40.107.237.86]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B79AA3A89; Fri, 11 Aug 2023 11:06:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ErSodoj/vzxmcxob8kRXysR1MPjR4N1hELgQdcqoBxQ0bvMXszyNwdNmXlswC2CNuN6EzUKz1w6xzBm4c8w/Y7vX6VI8QoAe7kdMfq4Yye8OeWqR6zdR71QzhIK5pswR3hHXtocKOrIGeMAnUUC7+9A/c7d3G4jpjKEVCV2gJIMjBP+4hGS/H5mCXFRIWHdOQcSGgo5PQB/VH/fnHHnsZPCxnzgexm5ct0TkycLRCz7c3vdxY+C2yXK2lNLX/HmuYFzECwj8HEZyjPLSL/w4M3u9KB3D2cMWT91/V1lh8YUB8foOTb3wMuQtvLx7tD2O+Wg9RqdfW5MgIdujLWOkVQ== 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=nbjsTcW0dO19YX5kTNBEdvG6hKyTAhkMDdU/C/vLZeg=; b=O7vAmsIxR+3exXSy9ucmttv86C/RbnQzDHJN/UgOaHaA0CYZCHjpIEoeDCO8pCCa/DJcS0k8ZwU/x5nQnJvcozAmPcM1dnAOS5rkQMS9CKAvhHCigc+FDntpZBgV1Ri+Jhc4fA6Vn6W7HkCUNcsOU99Ro1a5gXR+/SL1BNgpSyBIpJ7ZV6lJsKhXNeAUhnRhhZOyyaf1jNsWYAohjNROHiFWUsUq5U8xyjgIcKm6lDmJYXjEZt7xRnMZ2ffTjXgf/nCWu1UGSRC3ifrV78abaZKLH3x0oqZ0vCz09oiFhASAq40E1j7UZu+isKz+2g2r2vWi4j+YvuRpAzMw61aeoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nbjsTcW0dO19YX5kTNBEdvG6hKyTAhkMDdU/C/vLZeg=; b=r5GNNWEPVK1814wGAV4WQzbx38jGzyqIMKoihqb9ZApFbjNLnMaL0+QNceA6kWf4BcOlpDvTv6lMPhQhj0ID6waz3tIOTD9qBBwwBpkiUI9nDR+Pe10BnLvehvwCPvnvOY6PJoYKnNhYxSoszXNkGKQBPQ2vGsCIwTU54yXEzw8= Received: from SN7PR04CA0092.namprd04.prod.outlook.com (2603:10b6:806:122::7) by DS0PR12MB8787.namprd12.prod.outlook.com (2603:10b6:8:14e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 18:06:13 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:122:cafe::4) by SN7PR04CA0092.outlook.office365.com (2603:10b6:806:122::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 18:06:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.19 via Frontend Transport; Fri, 11 Aug 2023 18:06:13 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 13:05:53 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v15 6/6] soc: amd: Add support for AMD Pensando SoC Controller Date: Fri, 11 Aug 2023 11:05:19 -0700 Message-ID: <20230811180519.29644-7-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230811180519.29644-1-blarson@amd.com> References: <20230811180519.29644-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|DS0PR12MB8787:EE_ X-MS-Office365-Filtering-Correlation-Id: dc1d6a56-edeb-4b9b-afbb-08db9a95a621 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9rPidfPL2qfKCKAxMIwquYkjvIBT1JNC0L3C+CJ++DA0AEnAFJo6aESezl+EZAmWPLJkJKldOFazdGf54xRFho5Oo7dWhCkLA2Lw+BdzZgmcFZ3G64d+t2ZimAXq2XRdcZewWg+loN90wJSkzKDQaLdkpGkH6JgpoCCcf95I+BQet09yScaGokMLsX1IBRU1VutBwbAHAaqPcPZaSvYFFz3oujUdi3fEFQ70jWGZpOoJXQfLbdK6nFGih1iXLFPgzlNmzpGOcTEWjVfSZO59DwiRfCkP0XbEyUobm69DRbKpcCy5vr45VZ6FxqRIxb86gvfQjUAhn3UCcmju7hJfu90c05yAaPPUkt/CzW18vEGASr0uCi5+NOrdHKWHMubixoDswfopFPEVkQIMiP+eWSpXylO/clCFYdH2atlNU4NjXUcOm7xuUnEZOCSdRSD+V8YQj18aeRuyc6g3EZI+TGOCGh/o3gkGBG09l+mpdt+XIRfI/GxC+UMFwFKgO/WstdAUDFjdbaODhivAHRTpDKg6GV6BMHDkBqUT+MgU51ZQDJRfRmmFRCUhIUstQGZTz2uvwguzIPEoOpF/d17tV8AUHa6y7Izlp3BTC5EOUYvPtEgVsfBDDigBwli7ID96yQ9h3F15xt2U3ZIYoHdrGZnHYWj/kunSrXtsa35+g+BjrfAWytb2YWquDymy4c420hlF9YaV+OZhzxzz4yCovsl4OV07Fo0jLWtQg5kt16/lR/akg268cbIyNuIHFsZpC1zwC4jBtBcopf5N1wyXOw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(346002)(376002)(396003)(186006)(1800799006)(82310400008)(451199021)(46966006)(40470700004)(36840700001)(2616005)(316002)(81166007)(40480700001)(356005)(426003)(478600001)(82740400003)(40460700003)(6666004)(336012)(16526019)(1076003)(26005)(5660300002)(36756003)(8676002)(8936002)(41300700001)(7406005)(7416002)(47076005)(4326008)(2906002)(54906003)(36860700001)(6916009)(83380400001)(70206006)(30864003)(70586007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 18:06:13.0462 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dc1d6a56-edeb-4b9b-afbb-08db9a95a621 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8787 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org The Pensando SoC controller is a SPI connected companion device that is present in all Pensando SoC board designs. The essential board management registers are accessed on chip select 0 with board mgmt IO support accessed using additional chip selects. Signed-off-by: Brad Larson --- v15 changes: - Drop custom ioctl and use existing miscdevice interface. - Makefile change to only compile for ARCH_PENSANDO v14 changes: - Save 8 bytes of code size by swapping spi_device and reset_controller_dev in penctrl_device - Code simplification and clarity from review inputs - Set penctrl_spi_driver.driver.name to match compatible pensando-elba-ctrl - Remove unused include in amd-pensando-ctrl.h - Rebase to linux-next 6.4.0-rc1 class_create() API change v13 changes: - Update include list in pensando-ctrl.c - Change variable spi_dev to spi throughout - Removed unneeded variable initialization, simplification of error checks, remove extra castings, and use dev_err_probe() - Sort the includes in amd-pensando-ctrl.h - Updates to cleanup if there is an error in penctrl_spi_probe() v12 changes: - Fix gcc-12.1.0 warning v11 changes: - Fix the compatible to be specific 'amd,pensando-elba-ctrl' v10 changes: - Different driver implementation specific to this Pensando controller device. - Moved to soc/amd directory under new name based on guidance. This driver is of no use to any design other than all Pensando SoC based cards. - Removed use of builtin_driver, can be built as a module. v9 changes: - Previously patch 14/17 - After the change to the device tree node and squashing reset-cells into the parent simplified this to not use any MFD API and move it to drivers/spi/pensando-sr.c. - Change the naming to remove elba since this driver is common for all Pensando SoC designs . - Default yes SPI_PENSANDO_SR for ARCH_PENSANDO --- drivers/soc/Kconfig | 1 + drivers/soc/Makefile | 1 + drivers/soc/amd/Kconfig | 16 ++ drivers/soc/amd/Makefile | 2 + drivers/soc/amd/pensando-ctrl.c | 311 +++++++++++++++++++++++++ include/uapi/linux/amd-pensando-ctrl.h | 27 +++ 6 files changed, 358 insertions(+) create mode 100644 drivers/soc/amd/Kconfig create mode 100644 drivers/soc/amd/Makefile create mode 100644 drivers/soc/amd/pensando-ctrl.c create mode 100644 include/uapi/linux/amd-pensando-ctrl.h diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig index 4e176280113a..4e9453fdcb2f 100644 --- a/drivers/soc/Kconfig +++ b/drivers/soc/Kconfig @@ -3,6 +3,7 @@ menu "SOC (System On Chip) specific Drivers" source "drivers/soc/actions/Kconfig" source "drivers/soc/amlogic/Kconfig" +source "drivers/soc/amd/Kconfig" source "drivers/soc/apple/Kconfig" source "drivers/soc/aspeed/Kconfig" source "drivers/soc/atmel/Kconfig" diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile index 3b0f9fb3b5c8..1b2fc9caff8b 100644 --- a/drivers/soc/Makefile +++ b/drivers/soc/Makefile @@ -4,6 +4,7 @@ # obj-$(CONFIG_ARCH_ACTIONS) += actions/ +obj-$(CONFIG_ARCH_PENSANDO) += amd/ obj-y += apple/ obj-y += aspeed/ obj-$(CONFIG_ARCH_AT91) += atmel/ diff --git a/drivers/soc/amd/Kconfig b/drivers/soc/amd/Kconfig new file mode 100644 index 000000000000..011d5339d14e --- /dev/null +++ b/drivers/soc/amd/Kconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-only +menu "AMD Pensando SoC drivers" + +config AMD_PENSANDO_CTRL + tristate "AMD Pensando SoC Controller" + depends on SPI_MASTER=y + depends on (ARCH_PENSANDO && OF) || COMPILE_TEST + default ARCH_PENSANDO + select REGMAP_SPI + select MFD_SYSCON + help + Enables AMD Pensando SoC controller device support. This is a SPI + attached companion device in all Pensando SoC board designs which + provides essential board control/status registers and management IO + support. +endmenu diff --git a/drivers/soc/amd/Makefile b/drivers/soc/amd/Makefile new file mode 100644 index 000000000000..a2de0424f68d --- /dev/null +++ b/drivers/soc/amd/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +obj-$(CONFIG_AMD_PENSANDO_CTRL) += pensando-ctrl.o diff --git a/drivers/soc/amd/pensando-ctrl.c b/drivers/soc/amd/pensando-ctrl.c new file mode 100644 index 000000000000..0b5a3a54d624 --- /dev/null +++ b/drivers/soc/amd/pensando-ctrl.c @@ -0,0 +1,311 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * AMD Pensando SoC Controller + * + * Userspace interface and reset driver support for SPI connected Pensando SoC + * controller device. This device is present in all Pensando SoC designs and + * contains board control/status registers and management IO support. + * + * Copyright 2023 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +struct penctrl_device { + struct reset_controller_dev rcdev; + struct spi_device *spi; +}; + +static struct penctrl_device *penctrl; +static DEFINE_MUTEX(spi_lock); + +static long +penctrl_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +{ + struct penctrl_device *penctrl; + u8 tx_buf[PENCTRL_MAX_MSG_LEN]; + u8 rx_buf[PENCTRL_MAX_MSG_LEN]; + struct spi_transfer t[2] = {}; + struct penctrl_spi_xfer *msg; + struct spi_device *spi; + unsigned int num_msgs; + struct spi_message m; + u32 size; + int ret; + + /* Get a reference to the SPI device */ + penctrl = filp->private_data; + if (!penctrl) + return -ESHUTDOWN; + + spi = spi_dev_get(penctrl->spi); + if (!spi) + return -ESHUTDOWN; + + /* Verify and prepare SPI message */ + size = _IOC_SIZE(cmd); + num_msgs = size / sizeof(struct penctrl_spi_xfer); + if (num_msgs > 2 || size == 0 || size % sizeof(struct penctrl_spi_xfer)) { + ret = -EINVAL; + goto out_unlock; + } + msg = memdup_user((struct penctrl_spi_xfer *)arg, size); + if (IS_ERR(msg)) { + ret = PTR_ERR(msg); + goto out_unlock; + } + if (msg->len > PENCTRL_MAX_MSG_LEN) { + ret = -EINVAL; + goto out_unlock; + } + + t[0].tx_buf = tx_buf; + t[0].len = msg->len; + if (copy_from_user(tx_buf, (void __user *)msg->tx_buf, msg->len)) { + ret = -EFAULT; + goto out_unlock; + } + if (num_msgs > 1) { + msg++; + if (msg->len > PENCTRL_MAX_MSG_LEN) { + ret = -EINVAL; + goto out_unlock; + } + t[1].rx_buf = rx_buf; + t[1].len = msg->len; + } + spi_message_init_with_transfers(&m, t, num_msgs); + + /* Perform the transfer */ + mutex_lock(&spi_lock); + ret = spi_sync(spi, &m); + mutex_unlock(&spi_lock); + + if (ret || (num_msgs == 1)) + goto out_unlock; + + if (copy_to_user((void __user *)msg->rx_buf, rx_buf, msg->len)) + ret = -EFAULT; + +out_unlock: + spi_dev_put(spi); + return ret; +} + +static int penctrl_open(struct inode *inode, struct file *filp) +{ + struct spi_device *spi; + u8 current_cs; + + filp->private_data = penctrl; + current_cs = iminor(inode); + spi = penctrl->spi; + spi->chip_select = current_cs; + spi_set_csgpiod(spi, 0, spi->controller->cs_gpiods[current_cs]); + spi_setup(spi); + return stream_open(inode, filp); +} + +static int penctrl_release(struct inode *inode, struct file *filp) +{ + filp->private_data = NULL; + return 0; +} + +static const struct file_operations penctrl_fops = { + .owner = THIS_MODULE, + .unlocked_ioctl = penctrl_ioctl, + .open = penctrl_open, + .release = penctrl_release, + .llseek = no_llseek, +}; + +static int penctrl_regs_read(struct penctrl_device *penctrl, u32 reg, u32 *val) +{ + struct spi_device *spi = penctrl->spi; + struct spi_transfer t[2] = {}; + struct spi_message m; + u8 txbuf[3]; + u8 rxbuf[1]; + int ret; + + txbuf[0] = PENCTRL_SPI_CMD_REGRD; + txbuf[1] = reg; + txbuf[2] = 0; + t[0].tx_buf = txbuf; + t[0].len = sizeof(txbuf); + + rxbuf[0] = 0; + t[1].rx_buf = rxbuf; + t[1].len = sizeof(rxbuf); + + spi_message_init_with_transfers(&m, t, ARRAY_SIZE(t)); + ret = spi_sync(spi, &m); + if (ret) + return ret; + + *val = rxbuf[0]; + return 0; +} + +static int penctrl_regs_write(struct penctrl_device *penctrl, u32 reg, u32 val) +{ + struct spi_device *spi = penctrl->spi; + struct spi_transfer t = {}; + struct spi_message m; + u8 txbuf[4]; + + txbuf[0] = PENCTRL_SPI_CMD_REGWR; + txbuf[1] = reg; + txbuf[2] = val; + txbuf[3] = 0; + + t.tx_buf = txbuf; + t.len = sizeof(txbuf); + spi_message_init_with_transfers(&m, &t, 1); + return spi_sync(spi, &m); +} + +static int penctrl_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct penctrl_device *penctrl = + container_of(rcdev, struct penctrl_device, rcdev); + struct spi_device *spi = penctrl->spi; + unsigned int val; + int ret; + + mutex_lock(&spi_lock); + spi->chip_select = 0; + spi_set_csgpiod(spi, 0, spi->controller->cs_gpiods[0]); + spi_setup(spi); + ret = penctrl_regs_read(penctrl, PENCTRL_REG_CTRL0, &val); + if (ret) { + dev_err(&spi->dev, "error reading ctrl0 reg\n"); + goto out_unlock; + } + + val |= BIT(6); + ret = penctrl_regs_write(penctrl, PENCTRL_REG_CTRL0, val); + if (ret) + dev_err(&spi->dev, "error writing ctrl0 reg\n"); + +out_unlock: + mutex_unlock(&spi_lock); + return ret; +} + +static int penctrl_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct penctrl_device *penctrl = + container_of(rcdev, struct penctrl_device, rcdev); + struct spi_device *spi = penctrl->spi; + unsigned int val; + int ret; + + mutex_lock(&spi_lock); + spi->chip_select = 0; + spi_set_csgpiod(spi, 0, spi->controller->cs_gpiods[0]); + spi_setup(spi); + ret = penctrl_regs_read(penctrl, PENCTRL_REG_CTRL0, &val); + if (ret) { + dev_err(&spi->dev, "error reading ctrl0 reg\n"); + goto out_unlock; + } + + val &= ~BIT(6); + ret = penctrl_regs_write(penctrl, PENCTRL_REG_CTRL0, val); + if (ret) + dev_err(&spi->dev, "error writing ctrl0 reg\n"); + +out_unlock: + mutex_unlock(&spi_lock); + return ret; +} + +static const struct reset_control_ops penctrl_reset_ops = { + .assert = penctrl_reset_assert, + .deassert = penctrl_reset_deassert, +}; + +static struct miscdevice penctrl_devices[] = { + { .minor = 0, .name = "penctrl.0", .fops = &penctrl_fops }, + { .minor = 1, .name = "penctrl.1", .fops = &penctrl_fops }, + { .minor = 2, .name = "penctrl.2", .fops = &penctrl_fops }, + { .minor = 3, .name = "penctrl.3", .fops = &penctrl_fops }, +}; + +static int penctrl_spi_probe(struct spi_device *spi) +{ + int i, ret; + + /* Allocate driver data */ + penctrl = kzalloc(sizeof(*penctrl), GFP_KERNEL); + if (!penctrl) + return -ENOMEM; + + penctrl->spi = spi; + mutex_init(&spi_lock); + + for (i = 0; i < ARRAY_SIZE(penctrl_devices); i++) { + ret = misc_register(&penctrl_devices[i]); + if (ret) { + dev_err(&spi->dev, "Failed to register device %s\n", + penctrl_devices[i].name); + goto cleanup; + } + } + + /* Register reset controller */ + penctrl->rcdev.dev = &spi->dev; + penctrl->rcdev.ops = &penctrl_reset_ops; + penctrl->rcdev.owner = THIS_MODULE; + penctrl->rcdev.of_node = spi->dev.of_node; + penctrl->rcdev.nr_resets = 1; + device_set_node(penctrl->rcdev.dev, dev_fwnode(&spi->dev)); + + ret = reset_controller_register(&penctrl->rcdev); + if (ret) + return dev_err_probe(&spi->dev, ret, + "failed to register reset controller\n"); + return 0; + +cleanup: + for (i = 0; i < ARRAY_SIZE(penctrl_devices); i++) { + if (penctrl_devices[i].this_device) + misc_deregister(&penctrl_devices[i]); + } + return ret; +} + +static const struct of_device_id penctrl_dt_match[] = { + { .compatible = "amd,pensando-elba-ctrl" }, + { /* sentinel */ } +}; + +static struct spi_driver penctrl_spi_driver = { + .probe = penctrl_spi_probe, + .driver = { + .name = "pensando-elba-ctrl", + .of_match_table = penctrl_dt_match, + }, +}; +module_spi_driver(penctrl_spi_driver); + +MODULE_AUTHOR("Brad Larson "); +MODULE_DESCRIPTION("AMD Pensando SoC Controller via SPI"); +MODULE_LICENSE("GPL"); diff --git a/include/uapi/linux/amd-pensando-ctrl.h b/include/uapi/linux/amd-pensando-ctrl.h new file mode 100644 index 000000000000..46958271c5dd --- /dev/null +++ b/include/uapi/linux/amd-pensando-ctrl.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Userspace interface for /dev/penctrl + * + * This file can be used by applications that need to communicate + * with the AMD Pensando SoC controller device via the ioctl interface. + */ +#ifndef _UAPI_LINUX_AMD_PENSANDO_CTRL_H +#define _UAPI_LINUX_AMD_PENSANDO_CTRL_H + +#include + +#define PENCTRL_SPI_CMD_REGRD 0x0b +#define PENCTRL_SPI_CMD_REGWR 0x02 +#define PENCTRL_MAX_MSG_LEN 16 +#define PENCTRL_MAX_REG 0xff +#define PENCTRL_REG_CTRL0 0x10 + +struct penctrl_spi_xfer { + __u64 tx_buf; + __u64 rx_buf; + __u32 len; + __u32 speed_hz; + __u64 compat; +}; + +#endif /* _UAPI_LINUX_AMD_PENSANDO_CTRL_H */