From nobody Sat Feb 7 17:55:13 2026 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 D789CC761AF for ; Thu, 23 Mar 2023 00:07:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230099AbjCWAHl (ORCPT ); Wed, 22 Mar 2023 20:07:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229849AbjCWAHi (ORCPT ); Wed, 22 Mar 2023 20:07:38 -0400 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2052.outbound.protection.outlook.com [40.107.100.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E51F2CFF6; Wed, 22 Mar 2023 17:07:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mEzTFfa7oDjtxJ25tpVaU5pnKCvlKz8nWiXnXJLSNOOjA/+6zER6XS9rdLC/izE9wHncRIEO3ofYNtCC4fTyRPUXp9Ir6+1o50cNJF4UO3q6xUfjcFlVvuGYGYHSQL+3mzFt4ZnuqtJ+n5XbmOREoUbxt+8cW3+KqcsDwvmrvxL8u5S7n/6toGP6dPjQR/933/rS65cMTE/tDT/384pD0OYyaoVysS+GMj5SxFHdClG0waUGMDZDwGyYe2zqpV76klWtinGGW3/TnGx6gxnv9lk1QC1fNILlXeW2T/rJlBD/9LcVb6UlL2h37hs+4oW72jYy3vStkCD/xHPRy2PVqA== 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=P+ug5CIEuG6ltSEVxuimMiFKGSlXvrr3iXNaWdaDBUZA62qqS1US+v2ivJ+qtYFtYqOJxqGO25vwc8SIThnXi8P4/GPsgCqIvEScuW4z94mwlp3iPQl9VCRLwtHJR+3fw65WSMQa0uHIdEQo4ZO+PKgYkhHu9DkNLg+LULrx9IhogsaFBnq8Y9yq5FFttuCQrvk9gWR//uA+wFiOMbJLMTuNYzQh3o1xKP9eMTud5RZqsrkjC+ek6NpcNxi5sDNoIzOSN9q6nfYWU5in5RBospysMNaVwApwRThHY8rGef+YgKweVJneohNF286hsFIuuQbeHVzedfBmyWbPqAnztQ== 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=B6ZJQJNbvoHRnyMHq3pBZaH62UL6ykAf3UZIFgtZas2Q7MrhlOfHDo34zNiKnhLZ3/YaJiXsdYaqcfvye6tr9mqjqDzB2jNvKldwEUe+eOfLJ0SjfEFaMqH2/H2maunz02ChorwLang7+RLxMfXBgyDcF82Q+0w8LNhu89tvzoo= Received: from BN9PR03CA0444.namprd03.prod.outlook.com (2603:10b6:408:113::29) by PH7PR12MB6490.namprd12.prod.outlook.com (2603:10b6:510:1f5::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Thu, 23 Mar 2023 00:07:31 +0000 Received: from BN8NAM11FT088.eop-nam11.prod.protection.outlook.com (2603:10b6:408:113:cafe::5) by BN9PR03CA0444.outlook.office365.com (2603:10b6:408:113::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:07:31 +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 BN8NAM11FT088.mail.protection.outlook.com (10.13.177.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:07:30 +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.2375.34; Wed, 22 Mar 2023 19:07:27 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 01/15] dt-bindings: arm: add AMD Pensando boards Date: Wed, 22 Mar 2023 17:06:43 -0700 Message-ID: <20230323000657.28664-2-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT088:EE_|PH7PR12MB6490:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f5eca73-086d-452f-ee4c-08db2b329880 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HuPtHtlvdRCSlVOoYN4EIt44rdluCCX2Kc+ejsL/+J4NrEaY6h1G/P/wwNMMU4UrPxwXLcgvm2wLRAT9dbcXLNR0EOaCpjrKw25F7NH055b7kKK6HWUSvUneUYUJ9fbL7uaK8QLeZQyLEqel9n4akX54DLC9DZX5AcRiqOVnrkE8oWMCXxENAmEkgMXZTq6oCZmoMJpzjq4RBpNIpyYGXigMNL83uw9nPSxeoFK5eedn0JduntzqbmfGwbqdMjbW5felNoRYY9rMTa2CjrALqnlDgSNVlG6W/AFD7H+D1BCkTM502Gdm2gNS/8bPPOpWBQ99gmEWHQYZI7rfHi1pWh6QuhRvt5/NzuzGEbBa5CEATbvAs5zpTEleI9fvmIQjZVPURZbICsqZV9eqjHYfMorPFculXbZHwMu73dSSfALHXhGVtbJCxVaKdk7YZhm1KQ8zcB4QUM4k1Lsor89FVm9rPBOmX+43ZlsjQaaoHXngipN92ARpXO2YnlW+FG82BaorCJg9YmYBwG1uVNNN/JB2lymvj/xDu41OJzTgTp5lgJkdqLKNCEHuGETJJLm4nfpruy6Bl3GUDhWvmIdz3PWUQM+D+OC6nt4KD7n8VqoqNpgktvFqeCm30W7aBa3c9+J72GRR5XEdPqSvTvz8kKyiGSAv1w80omNJTHDXwfh+d4kXr6UHLlB6jcJEwTsrBKy51egh928a9Swztpd26l3Vdbkts/SB3Qes49InO4Mb2E1v4G4rgjM9ORR36q8w8pCeutC+2c6IqMgc32Z9bQ== 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:(13230025)(4636009)(396003)(346002)(136003)(39860400002)(376002)(451199018)(46966006)(36840700001)(40470700004)(966005)(36860700001)(1076003)(81166007)(47076005)(26005)(82310400005)(6666004)(36756003)(336012)(426003)(41300700001)(82740400003)(16526019)(186003)(356005)(40480700001)(2616005)(40460700003)(2906002)(316002)(6916009)(8676002)(70206006)(70586007)(5660300002)(7416002)(7406005)(8936002)(478600001)(4326008)(54906003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:07:30.8596 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6f5eca73-086d-452f-ee4c-08db2b329880 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: BN8NAM11FT088.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6490 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document the compatible for AMD Pensando Elba SoC boards. Signed-off-by: Brad Larson Reviewed-by: Rob Herring Reported-by: kernel test robot --- .../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/Docu= mentation/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 + +... --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 281FDC74A5B for ; Thu, 23 Mar 2023 00:08:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230226AbjCWAH7 (ORCPT ); Wed, 22 Mar 2023 20:07:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229875AbjCWAHz (ORCPT ); Wed, 22 Mar 2023 20:07:55 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2083.outbound.protection.outlook.com [40.107.93.83]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E0992DE74; Wed, 22 Mar 2023 17:07:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CHCZ4iiAHOHnQcsImOMYoIe0QYXsxwgMyeynoS7DVOBkZxPtMTscRZg5wnaZ7Ojg3CsgWF5g8BOtHdf+qRhH6Y3Q8HgItz4ecJPOYdkm3g/UTt3cuCmKE2C24rTEl6GzcgmmJsfmOYBrP6uhDk/2EbbaMxI85NeWcvvbFdTb+/5wZFwQu2VRaaxj55eygHyE9duAzg/sE96IH4xAIpZFPaPy+CzUnwYyIjjnRslIOTU7QZYJXOZITPq4NoSMP+DWkYJw5PBrCBx7eti1+b0IEZdVkjORmeBrZFMcZ39S7px1jnSs9VZFiDL7vOJ8RkcI6Tp0TXka8xXfyzwn3OD8Zg== 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=7mxYJKqpjySgldzXjTuLsIpVX+HqaTkwLV6V4DvdoCc=; b=go+0OC88/3N39qkyQu47zUqAtdklZWUREGYace7p9tpXhJrw3YzF8EysYPKL+/dvyimro4DGQEcZuSWAp3U+LUlE5PiMD52TpZu1+dAjZ/zIpH9u9XR6A5WWWlwefqlik+8N4fZsroJTC1wBlyOO+OOkTZgLdzBfWJBZhti8HL0y3LT6NVfybncxgUFoOO33FJADBWw2SEYqlEiEAc0QE9UnD8BruFg4OFgVY01ip+O9L0xpg3/6UfoBQp/oNDVBt59ZJdFYz6VqTslMRoYgxmgqx/iHlm+UOcs5ytnUjZLExqtxbG1b4uBScAhlmc4E4CllnVK/7yqShQiRxh5qBg== 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=7mxYJKqpjySgldzXjTuLsIpVX+HqaTkwLV6V4DvdoCc=; b=dH8hTsCJG28FIY+HDS7wsJd2Y9D4iwm9oXWob15tPqLGFswhsrNa/rUKoc6uJ7HCgeGoojtEF/Pxfr6u+IDt5+3CpdogP7i1F1jl5WvqQj+dYU1semtTdNND2YbLMj4vnZFMDhRjB3tCnjOPrJ6JXpNX/uZwDU+cMysM2H5tV98= Received: from BN9PR03CA0368.namprd03.prod.outlook.com (2603:10b6:408:f7::13) by DS7PR12MB5885.namprd12.prod.outlook.com (2603:10b6:8:78::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:07:44 +0000 Received: from BN8NAM11FT021.eop-nam11.prod.protection.outlook.com (2603:10b6:408:f7:cafe::22) by BN9PR03CA0368.outlook.office365.com (2603:10b6:408:f7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:07:44 +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 BN8NAM11FT021.mail.protection.outlook.com (10.13.177.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:07:44 +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.2375.34; Wed, 22 Mar 2023 19:07:41 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 02/15] dt-bindings: mmc: cdns: Add AMD Pensando Elba SoC Date: Wed, 22 Mar 2023 17:06:44 -0700 Message-ID: <20230323000657.28664-3-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT021:EE_|DS7PR12MB5885:EE_ X-MS-Office365-Filtering-Correlation-Id: a8dd06c8-52b9-4cfe-2772-08db2b32a092 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CMehcjZ+mWXdBVbT6HAkipKaWOMv6ydHrw6EfCev9j5nD/KfTzZ2KlhiQRDSNFxfHopvsu+RSVo3gmu8f5Vh77pVAaRdQPyPSeawyDlkbw6Ww+eYlbZOJ1xSz1ODKinaBWD+RmbK4HK7N9DNMKLa4/p0gXsWMW6iKshFCFfBIJOl6BLNRI8aHeXmcoYOb8RpqxS9OTNsL+/CSEc8mrMLiRyFuX2Sqb1nEEGZGWNW6XH+aZnP5LEk27OjlouzYhb8/xOfwvg+72uiR8cF2NYaO2JaR4bOkbAQgaDTnQjIPGxDVwhnXDh7O2TEf/a2oKVfLtAyDLhZlo21ISQDe6trVC0ICJPE6wn7HtZOiH6EHgWzz52wj8/DNOnZw89IVuvrjdzbW2Nve4tiUZqJhRPBAqIPOGIHVH2+YBni6NFM1ASDsyWyIOaSSHt96J9EFOT3Wzisj7paWs0rQDD0HO6hsZWWkZMl1wFDpA8iX/XLc6D6GDCkc3vVufM6ZZbutzmseRaZcF/qU3pZqVgtpsXQ6x9hyt9lwMm+hLTUKzU4OmZC9b9YGClh/BmEaIYo15BjWlCVIvLcJMXZPfZu+CX8qGD+EQfmUKHoHn7DsQagRu/K/Bm57h6FSRVZ/Bh5YclUrS1G5V5bUdFtfSY7OeiQiEIOyQ/PH2cov3T/kz8GtsKcHJLhdzoayWt0i6IjGqa7RCLeuPNOdTtl18SndzqIkKVnMMTDVLMXxFyNF56Kjh8= 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:(13230025)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199018)(46966006)(40470700004)(36840700001)(5660300002)(7416002)(7406005)(36860700001)(41300700001)(82310400005)(40480700001)(36756003)(356005)(8936002)(82740400003)(81166007)(40460700003)(2906002)(83380400001)(336012)(478600001)(426003)(47076005)(2616005)(186003)(16526019)(26005)(54906003)(1076003)(8676002)(4326008)(316002)(70586007)(70206006)(6916009)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:07:44.4880 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a8dd06c8-52b9-4cfe-2772-08db2b32a092 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: BN8NAM11FT021.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5885 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" AMD Pensando Elba ARM 64-bit SoC is integrated with this IP and explicitly controls byte-lane enables. Signed-off-by: Brad Larson Reported-by: kernel test robot Reviewed-by: Krzysztof Kozlowski --- v12_changes: - Drop 'resets: false' in the amd,pensando-elba-sd4hc else properties. Pass= ed dtbs_check and dt_binding_check with both versions. =20 v11 changes: - Remove resets description and reset-names - Add descriptions for amd,pensando-elba-sd4hc reg items v10 changes: - Move reset-names property definition next to existing resets prop - Move allOf to the bottom and set resets/reset-names required only for pen= sando - Fix reg maxItems for existing, must be 1 v9 changes: - Add reset-names and resets properties - Add if/then on property amd,pensando-elba-sd4hc to set reg property values for minItems and maxItems --- .../devicetree/bindings/mmc/cdns,sdhci.yaml | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml b/Docume= ntation/devicetree/bindings/mmc/cdns,sdhci.yaml index adacd0535c14..6c40611405a0 100644 --- a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml +++ b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml @@ -9,19 +9,18 @@ title: Cadence SD/SDIO/eMMC Host Controller (SD4HC) maintainers: - Masahiro Yamada =20 -allOf: - - $ref: mmc-controller.yaml - properties: compatible: items: - enum: + - amd,pensando-elba-sd4hc - microchip,mpfs-sd4hc - socionext,uniphier-sd4hc - const: cdns,sd4hc =20 reg: - maxItems: 1 + minItems: 1 + maxItems: 2 =20 interrupts: maxItems: 1 @@ -120,6 +119,26 @@ required: - interrupts - clocks =20 +allOf: + - $ref: mmc-controller.yaml + - if: + properties: + compatible: + contains: + const: amd,pensando-elba-sd4hc + then: + properties: + reg: + items: + - description: Host controller registers + - description: Elba byte-lane enable register for writes + required: + - resets + else: + properties: + reg: + maxItems: 1 + unevaluatedProperties: false =20 examples: --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 7DFBBC761AF for ; Thu, 23 Mar 2023 00:08:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229790AbjCWAIX (ORCPT ); Wed, 22 Mar 2023 20:08:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230211AbjCWAIU (ORCPT ); Wed, 22 Mar 2023 20:08:20 -0400 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2046.outbound.protection.outlook.com [40.107.220.46]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF26F2F054; Wed, 22 Mar 2023 17:07:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ij5kMFrcXKkM6GQcfa2hWr5QXKzrbT28a8uYtG2oPav6ssphnoh9IEG1/bJM0PCdMr3yyyg3jl6Xikes4p7ViFSt9zqmZt+OJaGNv7AXl2KqZ9+FTBMuHB7DqxxZMGKmL/gOW6Y+sl/oN83avDTj0lOIoMONbl7bCmVvwWokG99WC3lpMEzWI2aTT+tT5h4WQA/T8JoNgFHjvy42K1qSgl0aIQeyofHMzaUsSFsW3R7K8AqkeYNy31kHYoZBqm1yRITatfHY+JddSjhHg5pyJQ/HmIhNxxbwmIg1ndaab8KZEF5QjqFUSaLiM/G8OCcx1LT0TxVK1qZsq9gVGPwY3A== 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=6heMFDr/vcoXtcG1ihJG6vNQj/gCmyUGL8Ele90UPF0=; b=ZErYNw57K5/HTXe8oIeBb2hwy5OXcQasnB/nH2rTBlVDBQ6Rk26DJirmgxslGEKasXd+NFro7PPWKs7qJ9DMrCg3abMjyUYg27SnZnNLn71Va3qAECO2Uqg43P2ZLWE8YekLP3Hjn5xuOUZzurhfpVJoWEYSvcQ1Q7xhP7MOmwCrF9Tv24WNjXG6UqgTykEAqjDq0bw+/MZC6T5YzOcgU0fpSGC7gOEXnrxklwkcIzfohFrtBMZ+wxEU8+HqlJYc7fH7MnywJgXVcf97vfUTabgujeL4Un1LoV2dRCNqU8FOX3R9ciq08LirV2shSUU6kYoPheJWC5nfbbXBuxNLYw== 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=6heMFDr/vcoXtcG1ihJG6vNQj/gCmyUGL8Ele90UPF0=; b=GPsdr984rOgORlctPRVjtA6bc5Y7ML8komplFZlttJ92D+WUP5IRUnf1OkB0r0nCP8LZwfBd8DhDYssZ6A7ubhbQnKonOc/eW4QPwg2YJFxfTcg937uhIgYMIqjGnVyemHk/m4RvRLA/pROZPE5Hq9fSPEt3Vee8J1ROObaMod8= Received: from BN9PR03CA0264.namprd03.prod.outlook.com (2603:10b6:408:ff::29) by SN7PR12MB6670.namprd12.prod.outlook.com (2603:10b6:806:26e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:07:57 +0000 Received: from BN8NAM11FT082.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ff:cafe::bd) by BN9PR03CA0264.outlook.office365.com (2603:10b6:408:ff::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:07:56 +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 BN8NAM11FT082.mail.protection.outlook.com (10.13.176.94) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:07:56 +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.2375.34; Wed, 22 Mar 2023 19:07:53 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 03/15] dt-bindings: spi: cdns: Add compatible for AMD Pensando Elba SoC Date: Wed, 22 Mar 2023 17:06:45 -0700 Message-ID: <20230323000657.28664-4-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT082:EE_|SN7PR12MB6670:EE_ X-MS-Office365-Filtering-Correlation-Id: bdfce271-1e87-4686-5c7d-08db2b32a7a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oNnSXqtiSPtXsdfM5nyexxnVEnIlroh0E7lTcMTZvHzre5i6CoGaDB/0yfWtagON3jozIT07DuL+idNs/V+C5brmXxG98CGAB4flQLF7AAcfjCa7NyS0bePwxutbr3SO4MWPRHSoQI+HR0rCKeGAo1B/7O2Z/zwY4D9evVinXJ6wQ/xqKg9r6so8/z5OfRiAsDizH6/Cf+6oLltbJ58IODCEnjlYK2zCwotsKUAyAfOkXJKBd2LEA9tF4H46hk9g4Hv3a22ZMgQIknMKaiHO09815MHR2N/4z4dGEVAP2ISzkwJgd2uzXBLlTH0FS4O4PRk/lcoFvph44LUxl+uL7wng8Oet7W2a8105CDLDCAlZRPfh514xNGI+Iht3OlhyTuWhphP5VzD6lTX1ETXuKZDr4xnJHj4ZIKINN+4HAVqPwwVgwoF9EblwBZI69hHJCmaQ/6bio90I1OHgDOUoN0y98cyxit8CzlpuVphmpMs7p1ZlJjpET4+/8VKEHmKMP+AKA5IAmh1guS1fbxttP6ygz6C/yRmCKQTQBtCo1am98zUPbtiYlO5eo2knwO3VluDvtaqekrFT0broTo018bjHD8CqRlrt0yM9ZQY+6QGxTOFpyzvwTTjBS6bDw6E+vAJRaa4hmolq1riu2FOaPGhtkI+7qI2ELc+TiviJfjTck7o7k2LgTLbYBWajlduefP8KBheemwb51DCRbzkP94qlQwMgxoOjHn4HUtJXoL0= 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:(13230025)(4636009)(396003)(346002)(136003)(376002)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(8936002)(7406005)(5660300002)(2616005)(41300700001)(16526019)(7416002)(4326008)(70586007)(1076003)(6916009)(82310400005)(186003)(26005)(8676002)(70206006)(316002)(36756003)(54906003)(40140700001)(36860700001)(478600001)(83380400001)(336012)(6666004)(356005)(82740400003)(81166007)(40480700001)(47076005)(426003)(40460700003)(2906002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:07:56.3358 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bdfce271-1e87-4686-5c7d-08db2b32a7a4 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: BN8NAM11FT082.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6670 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document the cadence qspi controller compatible for AMD Pensando Elba SoC boards. The Elba qspi fifo size is 1024. Signed-off-by: Brad Larson Reviewed-by: Krzysztof Kozlowski Reported-by: kernel test robot --- v11 changes: - Removed redundant if/then for amd,pensando-elba-qspi v10 changes: - Fix cdns,fifo-depth, only amd,pensando-elba-qspi is 1024 bytes v9 changes: - Add 1024 to cdns,fifo-depth property to resolve dtbs_check error --- .../bindings/spi/cdns,qspi-nor.yaml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml b/Doc= umentation/devicetree/bindings/spi/cdns,qspi-nor.yaml index 5c01db128be0..6e67de9da293 100644 --- a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml +++ b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml @@ -20,11 +20,28 @@ allOf: required: - power-domains =20 + - if: + properties: + compatible: + contains: + const: amd,pensando-elba-qspi + then: + properties: + cdns,fifo-depth: + enum: [ 128, 256, 1024 ] + default: 1024 + else: + properties: + cdns,fifo-depth: + enum: [ 128, 256 ] + default: 128 + properties: compatible: oneOf: - items: - enum: + - amd,pensando-elba-qspi - ti,k2g-qspi - ti,am654-ospi - intel,lgm-qspi @@ -48,8 +65,6 @@ properties: description: Size of the data FIFO in words. $ref: /schemas/types.yaml#/definitions/uint32 - enum: [ 128, 256 ] - default: 128 =20 cdns,fifo-width: $ref: /schemas/types.yaml#/definitions/uint32 --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 4A3AEC761AF for ; Thu, 23 Mar 2023 00:08:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230211AbjCWAIl (ORCPT ); Wed, 22 Mar 2023 20:08:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39876 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230335AbjCWAIf (ORCPT ); Wed, 22 Mar 2023 20:08:35 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2074.outbound.protection.outlook.com [40.107.92.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E1DB2E0E5; Wed, 22 Mar 2023 17:08:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DkIeaEgrGBqctSx+imMNhtt/8toCZLs8mRxiAdrcoA8CEsDAs2pQTJA3C/yKC9ep5PgUHJlNyYCIPQwvXPbnt0daxTTe3WnUwlqhR5NcZAUgC0AO+HKlp66I648/ISBSG1dTzFUO8lerpKS2pdeyDq+/+SU05m7ciNY7SaNn5STO8pTNckRYWltpZzt6SC/raBNK0kDQgz9fvksWop2KEMdoJ0swP9wRN+tp2dwnWo7nRkMxWiON/HKgWXI+ukI2eyFjiTcBxiWqYmvaXTN7YXSQsu3DW8A2lkbVn5ESe0kq3afao1AXIok4BzjlRTql9hpMN7rkM0vEZy9iU5XCww== 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=s85HrBK30oYhm+SLURSRXrLkNTK5QT6HCkbpb+RlMFI=; b=BiZphPWsYCKuQlylyaNcXqA02m4VoeaKmBmqO2fzZeZLPMshlKwgEXteercT3DofntQHLT9qol4eJZATCzwNmMHFMqHouV87hVlFsrcfI3ptaqMlBlYbOAh/bW2NI1csdzKBENX128sH2FPyQDR3kRVtFnPJML3unAQ8gNmxeedvWplEeqIZ/5BDtY/bMTfpEbKC8UWAQrk3jQe0V2dNpYYzF+J2ip4qq4B8hQsnY+tyctR5OUjJlUwnzj85tWe6bpdW4WAN512BNmtDb37FEshi6nS0ewn3Zg6IixKSYJQW9A+kz9cS1z6Jtim8qzNX2rCAWj4CaXApdGQPA5c8ow== 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=s85HrBK30oYhm+SLURSRXrLkNTK5QT6HCkbpb+RlMFI=; b=RGSVNOzBwGur8ABgiQX4WZBKruBCm5vc7Kr03dkxIF7coDctIeNfyYq8XX2M5gtqHcQwymg1n7bnjMPxdUqK+0H4CJmb8PUTTnxZMGhTuYOlrzwI7moclS+ZRRD2H2RYl+RRAb/Re8sUpoA6wk/NOOlulK2zOlQK5wZlRrntRPI= Received: from BN0PR03CA0016.namprd03.prod.outlook.com (2603:10b6:408:e6::21) by DS7PR12MB5765.namprd12.prod.outlook.com (2603:10b6:8:74::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:08:06 +0000 Received: from BN8NAM11FT023.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e6:cafe::34) by BN0PR03CA0016.outlook.office365.com (2603:10b6:408:e6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:08:06 +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 BN8NAM11FT023.mail.protection.outlook.com (10.13.177.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:08:06 +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.2375.34; Wed, 22 Mar 2023 19:08:03 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 04/15] dt-bindings: spi: dw: Add AMD Pensando Elba SoC SPI Controller Date: Wed, 22 Mar 2023 17:06:46 -0700 Message-ID: <20230323000657.28664-5-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT023:EE_|DS7PR12MB5765:EE_ X-MS-Office365-Filtering-Correlation-Id: c99c3b95-55ad-4270-b4ce-08db2b32ada0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F68IvmgllyApPsCBeNVUDDE70/yam4uvtjZST4eg9z4yZ/2yAc0mMGXcznMaum9vFm9UfLuqLWKaL4Kwz0meFpo5Vdxb1SQ9SFmV7VsCvauYP4k07keHAcYgoS2ZQU3Ol92B/AQlSaOZ8c7VjB+90sHcEZw8VDAzia2zBoGhxT77kaHXNtF6XXmTFkf7jZB9/v/PU7a5fQ6ereThw0XnfHANwKMtwTbekGAB7KpuVqrJXdvfv+p8tycX3Tbgso5pwEE/KAA+MfqZMnLiSPwfT/ff0nx01AyTNzen82xsG+B6e/XZW9PYn8eBX6BS5on0+e+19XeVgmunMjsou1KuXDYmL6CO17rNVTNiJPduWeeK4A8eeaERzs1azYTmfBC0N4PbZwiGQVrxw4idoTWIB9FDgPnFvuY7zMfuDiX+5CIvyflWRVYYn3+u79YnoShAvkNtEGUvqmWp47SYyHcAj1nJdknrIc6hzsSUsbT4zidMHMSRSvNHR4lCKP35PWUwTwbo1vbASBFOdFRPScCEYmWOzsEQ3Wv5mOwfcWCYWRZpmzqIyfOUoymaEebBCBfhurvkfQWaAQY8LsG7uU4781QiTtltx2uJlzdjcGM8OVQm80ap6FwbAdpxLpsNOANG7vx+BC+4HTLcXUs+gpwk4XQTDClw22H25OPGMCAr8XZp8Xvgv7ct70qYA0OhY0VvlSwLXK4Mg7sHWcaN83Nw8GEaCBMk9rv2Kym+7ZQkaLc= 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:(13230025)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199018)(46966006)(40470700004)(36840700001)(82310400005)(40460700003)(40480700001)(36756003)(16526019)(316002)(4326008)(54906003)(6916009)(83380400001)(8676002)(70586007)(356005)(70206006)(186003)(1076003)(2616005)(6666004)(426003)(47076005)(26005)(336012)(8936002)(82740400003)(5660300002)(7406005)(7416002)(478600001)(36860700001)(81166007)(41300700001)(2906002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:08:06.3938 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c99c3b95-55ad-4270-b4ce-08db2b32ada0 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: BN8NAM11FT023.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5765 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The AMD Pensando Elba SoC has integrated the DW APB SPI Controller Signed-off-by: Brad Larson Reviewed-by: Krzysztof Kozlowski Reviewed-by: Serge Semin Reported-by: kernel test robot --- v12 changes: - Correct property amd,pensando-elba-syscon description v10 changes: - Move definition of amd,pensando-elba-syscon into properties with a better description - Add amd,pensando-elba-syscon: false for non elba designs v9 changes: - Define property amd,pensando-elba-syscon - Move compatible amd,pensando-elba-spi ahead of baikal,bt1-ssi --- .../bindings/spi/snps,dw-apb-ssi.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/D= ocumentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml index a132b5fc56e0..12ca108864c6 100644 --- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml +++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml @@ -37,6 +37,17 @@ allOf: else: required: - interrupts + - if: + properties: + compatible: + contains: + const: amd,pensando-elba-spi + then: + required: + - amd,pensando-elba-syscon + else: + properties: + amd,pensando-elba-syscon: false =20 properties: compatible: @@ -63,6 +74,8 @@ properties: const: intel,keembay-ssi - description: Intel Thunder Bay SPI Controller const: intel,thunderbay-ssi + - description: AMD Pensando Elba SoC SPI Controller + const: amd,pensando-elba-spi - description: Baikal-T1 SPI Controller const: baikal,bt1-ssi - description: Baikal-T1 System Boot SPI Controller @@ -136,6 +149,12 @@ properties: of the designware controller, and the upper limit is also subject to controller configuration. =20 + amd,pensando-elba-syscon: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + Block address to control SPI chip-selects. The Elba SoC system contr= oller + provides an interface to override the native DWC SSI CS control. + patternProperties: "^.*@[0-9a-f]+$": type: object --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 C994DC7619A for ; Thu, 23 Mar 2023 00:08:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229656AbjCWAIy (ORCPT ); Wed, 22 Mar 2023 20:08:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229539AbjCWAIv (ORCPT ); Wed, 22 Mar 2023 20:08:51 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2077.outbound.protection.outlook.com [40.107.223.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BA842F7B2; Wed, 22 Mar 2023 17:08:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JPKvgQFkv0BtrC/ykdExmYi9HLDB29Av4UFgdBZ3Jk+LjLHLZgi2cK1CvtOUoIKELtaayhISKdeO3imLgd9oWeJC5NZto9HNJUJpA5In/MMN7RaRqmhlAe4EHmpNZ+bgrxTMudjCnCnIKwMfqZZjmKaiRDyyLpRlt5Qz45x5rlkaiteY+oWngdmxFc9VIqkFs4CNOPgh8E3IsBg1Q9KUUfIJYDgnVmREewiGmYzQtMTDkkNOj6XI/Zeum4iJ5sIYGhiY6a9M/PR2lxjKVM282+POeTrBwXbGv2vbrA4XRWwkIkE1+GJwiPlA2RWWVXsrXBANf7Ks54kcsaIl50Witg== 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=uKnW45e7WATID2AQ00PmM4L++2zkqYt0EGCGnck4u+o=; b=bHeD+jEAf0p44YBtUCS5q9q3Q16HekzqYPuOCiMhfgJYuHRinU2NZ4G6BuTDOXzQFsLSzO8am84U2q8Fx1+wmslF5NiIzpwZ2FXdaM1k7Rk50rTALcwdIk5o8Ovsz87xFBcSBxiQ2VW7W/N6Nx17dve9GC6wXrug3a94cGZu2hNmKC+Zi9Eej0/Y7HjQxKQl9A0yqct7H3GmhhLfSUOUWq6jkpTmuDU0diUXRiHLT881Ht+SdNCzSsNyQNYj7UyJodea13M6nIQ8Jlea6nb8Rbcj1WATMdv1sfkXkfMAAZb/8rr20lb+IlEKO31/zJYnrO1OPzzQTSFImeFIDhuJ5A== 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=uKnW45e7WATID2AQ00PmM4L++2zkqYt0EGCGnck4u+o=; b=ujQHIfh0NYRPeIE30N60tiHBzVwXCrGDf/p7rOuZznjMMBw0lY2bo+ROl531bfQV/fGKQVF6T/7LMUOb8x0YxFxQamRJg5PXEzr/XMOuFGBcI+1EnYvbpcxwyrIFGWS9/cV0BKgId7yA5HP5RrVcrSFuiLmBo5ZaeRUhOkPzAyA= Received: from BN9PR03CA0074.namprd03.prod.outlook.com (2603:10b6:408:fc::19) by BY5PR12MB4290.namprd12.prod.outlook.com (2603:10b6:a03:20e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:08:20 +0000 Received: from BN8NAM11FT028.eop-nam11.prod.protection.outlook.com (2603:10b6:408:fc:cafe::ae) by BN9PR03CA0074.outlook.office365.com (2603:10b6:408:fc::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:08:19 +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 BN8NAM11FT028.mail.protection.outlook.com (10.13.176.225) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:08:19 +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.2375.34; Wed, 22 Mar 2023 19:08:16 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 05/15] dt-bindings: soc: amd: amd,pensando-elba-ctrl: Add Pensando SoC Controller Date: Wed, 22 Mar 2023 17:06:47 -0700 Message-ID: <20230323000657.28664-6-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT028:EE_|BY5PR12MB4290:EE_ X-MS-Office365-Filtering-Correlation-Id: a7527218-22c6-4464-259d-08db2b32b5a3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YSykyYH8XMsMe9KGTz9LRuxd3MiateOm8MNGbQijrejjblrtV8Ri+uVfQvd26Ma/N8um4HVPv6mNhEnKsz7UszXKmxL+WK2fRH/WihswFsI00tRcEXyjihm4oU2SNYHPBFQZfldoJX7uO56w0Q45802x6bSBWuqYtAA5rMrYeECSie/6BXq62zOOfE1EgqQg0+y0toQ6ya/sN6cGIiVJ6i0eLrsd5xttW3tR1bpfREe8INnDh/EC/dgM99G8hx3kBZ9/ZZKqG4J7AqKQ0w4BN7z51hbikSnBUoGROQLLZIGf1VtGYXri1Kr61ZepMMcnO8hrdzbi8cZrohYj4yIHEA1HSHzvJkon2EeIG4G34v//eq4T2uM2tV8Juh3uiMRRckatVygsxfOdxozCH4wpfpSWr8+ZZPF6Irw4J39YKDw/paTm+n7jW/7iSUuIYAMlzhMGoN61+eqZUpk1IdekG/6GNcvRnHGFPMqS3f55U0w3OA2vTNyqN39Q+4hz+7k2YQr+iJhKgSKB300t7oIL3lgbhK0uDOREe6xYd3CzActEcf9Q+BIGWLdukOK2hTb8vEnMC554W6KXjg/Rd2ezkpMkC1vK5l6VHgLKlZ+0VbqHw/ChY8yaAAmjEaZwFIrT1HbPv59orhoGBVJ1T6aitmx9Z2QmxeKV3jLIWe0jV40gROzUpHEBF+Aa64Nzr4cYC1/cOPgXqrv7wc4C7BMYS7MWzRKDOSx7/WmMDmte29YNrnGuFstsm26fbFXBEVKwyCuFt5EZJZuc4ayqxgM2LA== 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:(13230025)(4636009)(346002)(396003)(136003)(39860400002)(376002)(451199018)(40470700004)(46966006)(36840700001)(82310400005)(2616005)(47076005)(83380400001)(426003)(81166007)(2906002)(70206006)(4326008)(316002)(356005)(40460700003)(41300700001)(40480700001)(8676002)(36756003)(6916009)(82740400003)(966005)(16526019)(8936002)(6666004)(186003)(7406005)(478600001)(26005)(1076003)(36860700001)(54906003)(336012)(7416002)(70586007)(5660300002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:08:19.8159 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a7527218-22c6-4464-259d-08db2b32b5a3 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: BN8NAM11FT028.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4290 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Reported-by: kernel test robot --- 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-ct= rl.yaml b/Documentation/devicetree/bindings/soc/amd/amd,pensando-elba-ctrl.= yaml new file mode 100644 index 000000000000..f1d3ed4f519b --- /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 esse= ntial + control/status registers accessed on chip select 0. This device is pres= ent + 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 =3D <1>; + #size-cells =3D <0>; + + system-controller@0 { + compatible =3D "amd,pensando-elba-ctrl"; + reg =3D <0>; + spi-max-frequency =3D <12000000>; + interrupt-parent =3D <&porta>; + interrupts =3D <0 IRQ_TYPE_LEVEL_LOW>; + #reset-cells =3D <1>; + }; + }; + +... --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 AEC73C6FD1C for ; Thu, 23 Mar 2023 00:09:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229757AbjCWAJH (ORCPT ); Wed, 22 Mar 2023 20:09:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230026AbjCWAJC (ORCPT ); Wed, 22 Mar 2023 20:09:02 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2043.outbound.protection.outlook.com [40.107.244.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43E262CC78; Wed, 22 Mar 2023 17:08:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d86xJboPaSOpX1QH+NbF+1P+1jedxA9d+xKzhqDDdnZlt1ZJ33u8+Jrjtzd+KyxXg+0/ZLU45skYtIJI3myvOEpV0mHCZ7aldii5EY2zjd42B3EnbbEL5oKKIoBYolKkf0JhOUHZyYn4jnOVuwsjz23HTx4wwKFDCVaLVE8GmtHr2JoB67TtuVJOrdx2S1cM6RRVgc4EnVodqa5W/Qr7pLg+VhvEu5N8qijx4Ac9fOY/9fw5tNwA+HteqFXm+OS9shjKF0t0iZXy4LqSTliJDDnuwRU3sNaqZA2PZ3xqaHtn3XHJHONETK3G+vZm6LWXg7fAYpKes02HmfZ9GDPkCA== 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=5d82bpmyF+6P+qy1C97qBN4cXmEmhjcPYdPiNzeQJ4E=; b=C2i7AA6W7FIMU5DDCnRCv92tlo9bdp64vqA7G5vxkSKBmevQD3siJZumXNFUQiQLO8UVrk6xcUaSRe3sta3quSid+vG6OEpeMAhfoNXGD7zdr66fx19qBGWvaGkQletYoqX6TZUImfV8mFGErRchz2Io/p/IDkV4JQvY2FjjRQAohL+YoIXROTIrftM6ERTX2XP2QksUHe7bqoyC0oFl7iylHw1mJd/kUt2vtyWtGUFOFKP0yxnyBvfdKHRXxwDhC4YLvHp/UAE6QzO/bC/JNxqZrS7gHuNQpYgSemNi8qgwbwLugEJ7YbGJ7OQRG2uCsQt6phVTE7Evai6vBKGdbw== 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=5d82bpmyF+6P+qy1C97qBN4cXmEmhjcPYdPiNzeQJ4E=; b=t54KGMDehVIWcErCAT97LOc5ftG9R7ex0FPSq9paNCNY8ACZJ+lqwtvtj0SHN6ZMgYEpjXxUnYmWcHfT8PLq8oWuOPnyyyso71CN7niMgP6GKWTjm99gc1o2zNEiVuAjhAxVSUgh+jHVbAL99qzaswfwsr7gevRXuwt/67kgbKY= Received: from BN9PR03CA0749.namprd03.prod.outlook.com (2603:10b6:408:110::34) by IA0PR12MB9047.namprd12.prod.outlook.com (2603:10b6:208:402::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:08:35 +0000 Received: from BN8NAM11FT062.eop-nam11.prod.protection.outlook.com (2603:10b6:408:110:cafe::68) by BN9PR03CA0749.outlook.office365.com (2603:10b6:408:110::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend Transport; Thu, 23 Mar 2023 00:08:35 +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 BN8NAM11FT062.mail.protection.outlook.com (10.13.177.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:08:34 +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.2375.34; Wed, 22 Mar 2023 19:08:31 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 06/15] MAINTAINERS: Add entry for AMD PENSANDO Date: Wed, 22 Mar 2023 17:06:48 -0700 Message-ID: <20230323000657.28664-7-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT062:EE_|IA0PR12MB9047:EE_ X-MS-Office365-Filtering-Correlation-Id: 58c77c51-040d-4bdc-498a-08db2b32be9e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PifC26cE4//DvGomvTDDavURj1/vHiy3jq2Trd9TV9PUxFahMqHen0cwRT0KtzjGwoJ8IwzPLuB2ScscsF5sFz7P8bT1HDysxIV2TS597dVcCIP+8NrAzoPQRDpU1maDLvZh2v1quSzin5qPmWNj6I0AnNJuG8mGla5LsR5x0NVieSquBcIt/qMOd0NhtpXSNFCp/CeRKNUo5W1/dR/tQbY+b2GnnnM5NQQXJn3TU5Z8sOrFLsNAYthOLnB15kLOl/hCodjz6SCkf/qbXGu9uRN8699wy2RAl+espPmpJs9xMKpdCwr6V6LePg7umx654gYbPmpFwgkDb3i8oJRwejWaJfdMpbxUMR3kxCNYdguqaJ1g8QF0fcmv4mFaqbvXDdl+8jN4+vN0OA6Wovj84okovRYBbzs7D4uR3MLcLn9sY8+wsIJ+2YIDB4pDdsHXrye0Eh8kfDusRXMFICEOOQRMe/eKySkQSq5unfNfNPdnAC/wtj2WW9VdP0oN3/21lbUGiW9re2TbTbjVVWtnXhW8CKE52n0jd+catDhoYfAEYxNuJ19Y0+7siADBKDMEHIupsQV+OIL30+jjjbvMYCcbAFsV2CWPdQ+OF3XubjaNjgGIZQZ2E51Kbghk6r0xXo331C60SJQ/BeeosAG9IvDgLmFABSQeEk+F3jbPxAO+BNcz3vW/lzmHWy3PdmNvGPoZ3KFShG2GBNHr7TpbaHxe1IS2u5PU/JQ+YJ6cpS8= 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:(13230025)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199018)(46966006)(36840700001)(40470700004)(4326008)(40460700003)(356005)(6916009)(7416002)(36756003)(26005)(41300700001)(47076005)(478600001)(8676002)(54906003)(5660300002)(8936002)(4744005)(7406005)(70206006)(83380400001)(6666004)(36860700001)(40480700001)(426003)(82740400003)(336012)(81166007)(316002)(82310400005)(2616005)(2906002)(186003)(70586007)(16526019)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:08:34.8992 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 58c77c51-040d-4bdc-498a-08db2b32be9e 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: BN8NAM11FT062.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB9047 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add entry for AMD PENSANDO maintainer and files Signed-off-by: Brad Larson Reported-by: kernel test robot --- MAINTAINERS | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 8d5bc223f305..5e39def215c9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1875,6 +1875,15 @@ N: allwinner N: sun[x456789]i N: sun[25]0i =20 +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/ + ARM/Amlogic Meson SoC CLOCK FRAMEWORK M: Neil Armstrong M: Jerome Brunet --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 F13EDC6FD1C for ; Thu, 23 Mar 2023 00:09:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230366AbjCWAJ2 (ORCPT ); Wed, 22 Mar 2023 20:09:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230026AbjCWAJZ (ORCPT ); Wed, 22 Mar 2023 20:09:25 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2084.outbound.protection.outlook.com [40.107.223.84]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FF0630B08; Wed, 22 Mar 2023 17:08:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h1q2VkgNNuKDfQfWpvr32qLoUiKGR5WgN5hiwEDzjMAbxKtWWxdDUDrEdeceXlS0gaCyqjyBNukzYmYUGs4EsKHERZic9Rjid7BcdipOwQeON5ct+KnDOnGSNJ10XEfw0HNazxqr+cXRbqltrWf5cTWM1aREoefP/oqlfn7YyNl/RG+PWXRgcfIQwEoBYmYVGj8P1l+ObPm7c3gg998xZTQbEnseFGRpmOAveaINFRH/e6zFLNZ9Cs/IrDRqJvefg4Rwc6qSEs+PAT34op5kE0MjQlmpLlELkskjDsonLHIyY7C86+qna7aWA2XReWnuFA5R6VFjhanvX+O+fEvyeg== 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=vYV1MbdPxIkeTt/bPBRd4G8qOex1cDpG402blQSNwO8=; b=I5oMc5PYqHdWfWirAxVfqOyT/5n4Qecv768rihwnayu8KlUro2tjg3pqO7c71RVaJH2779oCrgL4krMgcW+wdKMABZPT1t/femJUXSQvOoKwJUAAkDbbyHgTqtLyJKVPQ9i/ZYH3DLclGyIFvayji2DF2G8oAcmsH1xses887S1TaPVeGCAFF5dSw7y94+21UDC7cvbYEWc/RzfU2WGwMRvsMS7o2Rbx5+SwQqdJ1YkDeUAvILkVYllAiX4bKnnJuZwD77/1SPaDjsqIFL+NGKc46q0lN12PjzpgYjiBYhpv4NWYpx2RRLSRppeB8p/dXZbeuCUwqnWPf+Qo/Zqz7Q== 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=vYV1MbdPxIkeTt/bPBRd4G8qOex1cDpG402blQSNwO8=; b=v8KKUFlORb1Cw79W4IaljjAbxSl4Mkf+4pqfNS5hKukATBU/s2nXZAQYg6Sl7Bq4mYgV+U2LmD+l+feE8uroEMJSNgucf3wXIBGZGCUXQu7/fmVxxnqkBYHRg8jzPDLMmPXrOQTtzSuHjioUMtlt9xiS93UKlfAYlH0YAsSTQYA= Received: from BN9PR03CA0331.namprd03.prod.outlook.com (2603:10b6:408:f6::6) by CY5PR12MB6057.namprd12.prod.outlook.com (2603:10b6:930:2e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:08:54 +0000 Received: from BN8NAM11FT083.eop-nam11.prod.protection.outlook.com (2603:10b6:408:f6:cafe::5a) by BN9PR03CA0331.outlook.office365.com (2603:10b6:408:f6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:08:54 +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 BN8NAM11FT083.mail.protection.outlook.com (10.13.177.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:08: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.2375.34; Wed, 22 Mar 2023 19:08:51 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 07/15] arm64: Add config for AMD Pensando SoC platforms Date: Wed, 22 Mar 2023 17:06:49 -0700 Message-ID: <20230323000657.28664-8-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT083:EE_|CY5PR12MB6057:EE_ X-MS-Office365-Filtering-Correlation-Id: 58dafed1-e840-4978-c45b-08db2b32c9fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CGch5cME/lsQ3mkNSlxTGCgLpXcUR5rI7ETkpC4Prb+C09lFPJ07MBVAx2EIHx7DRRzNEYyTcwKCPMVTB3dOS7P5m/ebnIWaAlgN40FvfDdtF5GtDqWWO1rNj0fobX9rAevGBPpyJkQn3lg4WNHtaFLWKvcIuZKLWsgY4XQy5lhGsW3dVqfPh21KoYrcy58bRfkXsi1hW9GoYlTq+tqF8K6Rw10wPoAVcF7802CmKv86uy9U00Z16lZ8X8eTRKs908nyNxS+r7HUGdNLmk+6YaYJeI2Pb7G98Ziq50/tG5+f51zufV6H/K7PcbVW5l0Oj4wYxrKbc0E1MPXl2zAJyPq2wztDTzEoygc26oiqj8F0UQt7TCC4pDphve1joym8OTfJAUGeC08hqN1UGV2bRv+Gin0C1C47dAYQICU+tt3uEuY3QzNpm72robSsYMf6LPXLu+eCGZBOkRFx+IFGhZsjdXRORerR9Toxtv1RYDrRwkXUq8nW89g767O45ccb98Y9Fjjs5IgbKGlWdFwsYOSi5V7zw4SZZg7WgKvXMBnJJewPmQV9muslB8A5tmBq0sGEI1ttle0NxSI+WG2ldf4vDhlRMh/4Geojv09PEH6eiyoXG8hfuD1cp/KTgA+H5nFEyDw+0o7w4+EufRIDEYJI+HGqxPlAg51/4l7WHBuYBSUCSTx+ek33yAnDhVPhiq6I8OEkT0qXE00ouJz5mf9BPEoU1/xsXSyKUdmZzBE= 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:(13230025)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199018)(36840700001)(40470700004)(46966006)(40480700001)(316002)(336012)(47076005)(426003)(356005)(8936002)(36860700001)(36756003)(5660300002)(2906002)(478600001)(40460700003)(70206006)(7416002)(54906003)(6916009)(81166007)(1076003)(82740400003)(186003)(70586007)(26005)(16526019)(7406005)(2616005)(4326008)(41300700001)(4744005)(8676002)(82310400005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:08:53.8664 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 58dafed1-e840-4978-c45b-08db2b32c9fa 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: BN8NAM11FT083.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6057 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add ARCH_PENSANDO configuration option for AMD Pensando SoC based platforms. Signed-off-by: Brad Larson Reported-by: kernel test robot --- arch/arm64/Kconfig.platforms | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 89a0b13b058d..3510daaabe27 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -236,6 +236,18 @@ config ARCH_NPCM General support for NPCM8xx BMC (Arbel). Nuvoton NPCM8xx BMC based on the Cortex A35. =20 +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 --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 B1FE0C74A5B for ; Thu, 23 Mar 2023 00:09:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230375AbjCWAJr (ORCPT ); Wed, 22 Mar 2023 20:09:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230194AbjCWAJp (ORCPT ); Wed, 22 Mar 2023 20:09:45 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2087.outbound.protection.outlook.com [40.107.93.87]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45DCD303CC; Wed, 22 Mar 2023 17:09:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DnmwYbGowa1ahd6lO8ACbrd3CT96hMqtoLx2JifwkEoJXB3vFc9pcdsN8gZeHiQ4sA+JS67akKJJbq4LrjTLJnNeryuUeDfkfsoYZpnRSjBmDFd3GwHBN5/Q0nprBMZU3NoiIXhwJtps6GJoE+HoZXGNY4Lhxt3ZDq35Uko1KHm/+Q0dErYBmFyHpU0XBvACrR0yjKef6oEm9sbsvrjiK5H3EvNz2sR6tQMMSXWL77VZTjGsGUrf7m1Tn06xVr2ysSSCuDVJtx5gEAvjb8f8snTsw6UzpdmMWLmPl1wtpkK/g/xBaKi/PL8FSIv9KFLkbIfjE+O9wqueLGz9cumGDA== 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=83PU7FEhIF9nAiOm5pRE0SwYJa+LlvFc6t03SX3ut1I=; b=TIh4qIqThF2PaUVm3g2eKT+2SWzB5AxVC8Afvjl76zOyxlQ/ZdcTr8ChakT7a3MS9oCp6vZ+zh504C4aC0XmB4VRw0UxSy9V699OG6Ae5rBHaQOpH03y2SaArTNy6ghFubOeoGmkwR1HOKZ7MBEBlXZsy6mhKeGKPjo5MObb0wtSv57ajLgd2JYNwBI+QjQ5lTA7Ei6moLImGkBi6/DQ/I8Wjwh23AceaU+pAf6WEX6WVYLKAbDp+CAbsnw24dnAm93vaUJpIcUj2El+/bh2WOLX+M1SeBMAuEzkvzU6LWY2lA5JqpfOLS6u434h6UeqzAOhpz2Y/AGhZ3iSM7iVfA== 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=83PU7FEhIF9nAiOm5pRE0SwYJa+LlvFc6t03SX3ut1I=; b=yWfkBJRXQh2wyf6UY0rLHFwoPfhVIYk+3WNlwpmqwI/+Jw8So1zKmr1TYja9CTzbhVf7olIQKbgqXqIwhY0cYmysAO3hgrFv2uwREjhCRE2rEKwuYRv8lhrNmF4LasO9TsufXhuwCKDoscHxHS8BWLGV26gyAF23kKaoes8n6Ys= Received: from BN8PR12CA0003.namprd12.prod.outlook.com (2603:10b6:408:60::16) by SA3PR12MB8000.namprd12.prod.outlook.com (2603:10b6:806:31f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:09:06 +0000 Received: from BN8NAM11FT100.eop-nam11.prod.protection.outlook.com (2603:10b6:408:60:cafe::10) by BN8PR12CA0003.outlook.office365.com (2603:10b6:408:60::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:09:06 +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 BN8NAM11FT100.mail.protection.outlook.com (10.13.177.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:09:05 +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.2375.34; Wed, 22 Mar 2023 19:09:03 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 08/15] arm64: dts: Add AMD Pensando Elba SoC support Date: Wed, 22 Mar 2023 17:06:50 -0700 Message-ID: <20230323000657.28664-9-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BN8NAM11FT100:EE_|SA3PR12MB8000:EE_ X-MS-Office365-Filtering-Correlation-Id: b5cc56e2-5e6a-463d-ba89-08db2b32d121 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oTrDGAIksSU7QsH1F4w1tsSKrBKBhS0tfZK64HBPx9LA4vgc7DA1w4ri566smj0KYXe6jeLIoOERKvJUebkmftFprV4F9RggHu7+nZWW2I+GwYISExFn8X1wUoFSiMBAMi03Q1fQaMTFHnmaigFmfaq+ogsWxvlbpzKlZrgiqdFLgHR8vok5HJguYBXqEidh8zdTB+YfrhRtMKG3JrwDb8txjD9/q+od/AUNvL9TvclrHqHg5bdFdrmQBAq6MiN3z4ScC2RNKUDQx90n7kApwZhq3vXN15hppYXTxOpkOj2kiwe2T48KB98wneMPDpsLPt6QPThivf4W2Dq9OMPruhrIUUxkNHh4By2GCI3WqBj96Sp/unJyoYjz2U01yUG0Q5Ke548NAqwx8uyBJVEWmS6l5b1EMQ/aps1LjJnOTYEQjzpJiLBDbjS7/dK4v3Bs5qvdypSVVpe00Tc2z8k8bYpOhuGgLrxCX8oTCe0W7qPuuDttUTR+R6s7PTm+jS4QABYUd6h/trT7xtuXiDEjyohJoMeBXOTe+a2RufaIpiqE3CigsMJtP3SU0GvF1exVFds/yQ67+8r/8kjk8SN/uKaB5BaSrvD7BWTVscf2ESRqyMnk/vrP/4Vqce0gJWxMO2a4F5PftGE0lJbTWV+ApXM9fkLhsGJleiXeS20X1FkuXoR/CmOltDZZ//wgAIrGUn3N8yfvFD1TdKOngtCqjPvPm0B/ZlAwjyDziHGox8k= 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:(13230025)(4636009)(376002)(136003)(346002)(39860400002)(396003)(451199018)(46966006)(36840700001)(40470700004)(40480700001)(82310400005)(40460700003)(36756003)(83380400001)(70206006)(316002)(16526019)(6916009)(4326008)(8676002)(478600001)(70586007)(54906003)(186003)(26005)(336012)(2616005)(47076005)(6666004)(1076003)(426003)(7406005)(5660300002)(36860700001)(356005)(7416002)(8936002)(41300700001)(30864003)(82740400003)(81166007)(2906002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:09:05.9439 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b5cc56e2-5e6a-463d-ba89-08db2b32d121 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: BN8NAM11FT100.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB8000 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add AMD Pensando common and Elba SoC specific device nodes Signed-off-by: Brad Larson Reported-by: kernel test robot --- 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 | 189 +++++++++++++++++ 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 | 106 ++++++++++ arch/arm64/boot/dts/amd/elba.dtsi | 191 ++++++++++++++++++ 6 files changed, 595 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/Mak= efile 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) +=3D elba-asic.dtb dtb-$(CONFIG_ARCH_SEATTLE) +=3D 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..37aadd442db8 --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba-16core.dtsi @@ -0,0 +1,189 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Copyright 2020-2022 Advanced Micro Devices, Inc. + */ + +/ { + cpus { + #address-cells =3D <2>; + #size-cells =3D <0>; + + cpu-map { + cluster0 { + core0 { cpu =3D <&cpu0>; }; + core1 { cpu =3D <&cpu1>; }; + core2 { cpu =3D <&cpu2>; }; + core3 { cpu =3D <&cpu3>; }; + }; + + cluster1 { + core0 { cpu =3D <&cpu4>; }; + core1 { cpu =3D <&cpu5>; }; + core2 { cpu =3D <&cpu6>; }; + core3 { cpu =3D <&cpu7>; }; + }; + + cluster2 { + core0 { cpu =3D <&cpu8>; }; + core1 { cpu =3D <&cpu9>; }; + core2 { cpu =3D <&cpu10>; }; + core3 { cpu =3D <&cpu11>; }; + }; + + cluster3 { + core0 { cpu =3D <&cpu12>; }; + core1 { cpu =3D <&cpu13>; }; + core2 { cpu =3D <&cpu14>; }; + core3 { cpu =3D <&cpu15>; }; + }; + }; + + /* CLUSTER 0 */ + cpu0: cpu@0 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x0>; + next-level-cache =3D <&l2_0>; + enable-method =3D "psci"; + }; + + cpu1: cpu@1 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x1>; + next-level-cache =3D <&l2_0>; + enable-method =3D "psci"; + }; + + cpu2: cpu@2 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x2>; + next-level-cache =3D <&l2_0>; + enable-method =3D "psci"; + }; + + cpu3: cpu@3 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x3>; + next-level-cache =3D <&l2_0>; + enable-method =3D "psci"; + }; + + l2_0: l2-cache0 { + compatible =3D "cache"; + }; + + /* CLUSTER 1 */ + cpu4: cpu@100 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x100>; + next-level-cache =3D <&l2_1>; + enable-method =3D "psci"; + }; + + cpu5: cpu@101 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x101>; + next-level-cache =3D <&l2_1>; + enable-method =3D "psci"; + }; + + cpu6: cpu@102 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x102>; + next-level-cache =3D <&l2_1>; + enable-method =3D "psci"; + }; + + cpu7: cpu@103 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x103>; + next-level-cache =3D <&l2_1>; + enable-method =3D "psci"; + }; + + l2_1: l2-cache1 { + compatible =3D "cache"; + }; + + /* CLUSTER 2 */ + cpu8: cpu@200 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x200>; + next-level-cache =3D <&l2_2>; + enable-method =3D "psci"; + }; + + cpu9: cpu@201 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x201>; + next-level-cache =3D <&l2_2>; + enable-method =3D "psci"; + }; + + cpu10: cpu@202 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x202>; + next-level-cache =3D <&l2_2>; + enable-method =3D "psci"; + }; + + cpu11: cpu@203 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x203>; + next-level-cache =3D <&l2_2>; + enable-method =3D "psci"; + }; + + l2_2: l2-cache2 { + compatible =3D "cache"; + }; + + /* CLUSTER 3 */ + cpu12: cpu@300 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x300>; + next-level-cache =3D <&l2_3>; + enable-method =3D "psci"; + }; + + cpu13: cpu@301 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x301>; + next-level-cache =3D <&l2_3>; + enable-method =3D "psci"; + }; + + cpu14: cpu@302 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x302>; + next-level-cache =3D <&l2_3>; + enable-method =3D "psci"; + }; + + cpu15: cpu@303 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a72"; + reg =3D <0 0x303>; + next-level-cache =3D <&l2_3>; + enable-method =3D "psci"; + }; + + l2_3: l2-cache3 { + compatible =3D "cache"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba-asic-common.dtsi b/arch/arm64/boo= t/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 =3D <400000000>; +}; + +&emmc_clk { + clock-frequency =3D <200000000>; +}; + +&flash_clk { + clock-frequency =3D <400000000>; +}; + +&ref_clk { + clock-frequency =3D <156250000>; +}; + +&qspi { + status =3D "okay"; + + flash0: flash@0 { + compatible =3D "jedec,spi-nor"; + reg =3D <0>; + spi-max-frequency =3D <40000000>; + spi-rx-bus-width =3D <2>; + m25p,fast-read; + cdns,read-delay =3D <0>; + cdns,tshsl-ns =3D <0>; + cdns,tsd2d-ns =3D <0>; + cdns,tchsh-ns =3D <0>; + cdns,tslch-ns =3D <0>; + }; +}; + +&gpio0 { + status =3D "okay"; +}; + +&emmc { + bus-width =3D <8>; + cap-mmc-hw-reset; + resets =3D <&rstc 0>; + status =3D "okay"; +}; + +&wdt0 { + status =3D "okay"; +}; + +&i2c0 { + clock-frequency =3D <100000>; + status =3D "okay"; + + rtc@51 { + compatible =3D "nxp,pcf85263"; + reg =3D <0x51>; + }; +}; + +&spi0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + num-cs =3D <4>; + cs-gpios =3D <0>, <0>, <&porta 1 GPIO_ACTIVE_LOW>, + <&porta 7 GPIO_ACTIVE_LOW>; + status =3D "okay"; + + rstc: system-controller@0 { + compatible =3D "amd,pensando-elba-ctrl"; + reg =3D <0>; + spi-max-frequency =3D <12000000>; + interrupt-parent =3D <&porta>; + interrupts =3D <0 IRQ_TYPE_LEVEL_LOW>; + #reset-cells =3D <1>; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba-asic.dts b/arch/arm64/boot/dts/am= d/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 =3D "AMD Pensando Elba Board"; + compatible =3D "amd,pensando-elba-ortano", "amd,pensando-elba"; + + aliases { + serial0 =3D &uart0; + spi0 =3D &spi0; + spi1 =3D &qspi; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi b/arch/arm64/boo= t/dts/amd/elba-flash-parts.dtsi new file mode 100644 index 000000000000..734893fef2c3 --- /dev/null +++ b/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi @@ -0,0 +1,106 @@ +// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +/* + * Copyright 2020-2022 Advanced Micro Devices, Inc. + */ + +&flash0 { + partitions { + compatible =3D "fixed-partitions"; + #address-cells =3D <1>; + #size-cells =3D <1>; + partition@0 { + label =3D "flash"; + reg =3D <0x10000 0xfff0000>; + }; + + partition@f0000 { + label =3D "golduenv"; + reg =3D <0xf0000 0x10000>; + }; + + partition@100000 { + label =3D "boot0"; + reg =3D <0x100000 0x80000>; + }; + + partition@180000 { + label =3D "golduboot"; + reg =3D <0x180000 0x200000>; + }; + + partition@380000 { + label =3D "brdcfg0"; + reg =3D <0x380000 0x10000>; + }; + + partition@390000 { + label =3D "brdcfg1"; + reg =3D <0x390000 0x10000>; + }; + + partition@400000 { + label =3D "goldfw"; + reg =3D <0x400000 0x3c00000>; + }; + + partition@4010000 { + label =3D "fwmap"; + reg =3D <0x4010000 0x20000>; + }; + + partition@4030000 { + label =3D "fwsel"; + reg =3D <0x4030000 0x20000>; + }; + + partition@4090000 { + label =3D "bootlog"; + reg =3D <0x4090000 0x20000>; + }; + + partition@40b0000 { + label =3D "panicbuf"; + reg =3D <0x40b0000 0x20000>; + }; + + partition@40d0000 { + label =3D "uservars"; + reg =3D <0x40d0000 0x20000>; + }; + + partition@4200000 { + label =3D "uboota"; + reg =3D <0x4200000 0x400000>; + }; + + partition@4600000 { + label =3D "ubootb"; + reg =3D <0x4600000 0x400000>; + }; + + partition@4a00000 { + label =3D "mainfwa"; + reg =3D <0x4a00000 0x1000000>; + }; + + partition@5a00000 { + label =3D "mainfwb"; + reg =3D <0x5a00000 0x1000000>; + }; + + partition@6a00000 { + label =3D "diaguboot"; + reg =3D <0x6a00000 0x400000>; + }; + + partition@8000000 { + label =3D "diagfw"; + reg =3D <0x8000000 0x7fe0000>; + }; + + partition@ffe0000 { + label =3D "ubootenv"; + reg =3D <0xffe0000 0x10000>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amd/elba.dtsi b/arch/arm64/boot/dts/amd/el= ba.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 =3D "Elba ASIC Board"; + compatible =3D "amd,pensando-elba"; + interrupt-parent =3D <&gic>; + #address-cells =3D <2>; + #size-cells =3D <2>; + + dma-coherent; + + ahb_clk: oscillator0 { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + }; + + emmc_clk: oscillator2 { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + }; + + flash_clk: oscillator3 { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + }; + + ref_clk: oscillator4 { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + }; + + psci { + compatible =3D "arm,psci-0.2"; + method =3D "smc"; + }; + + timer { + compatible =3D "arm,armv8-timer"; + interrupts =3D , + , + , + ; + }; + + pmu { + compatible =3D "arm,cortex-a72-pmu"; + interrupts =3D ; + }; + + soc: soc { + compatible =3D "simple-bus"; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + i2c0: i2c@400 { + compatible =3D "snps,designware-i2c"; + reg =3D <0x0 0x400 0x0 0x100>; + clocks =3D <&ahb_clk>; + #address-cells =3D <1>; + #size-cells =3D <0>; + i2c-sda-hold-time-ns =3D <480>; + interrupts =3D ; + status =3D "disabled"; + }; + + wdt0: watchdog@1400 { + compatible =3D "snps,dw-wdt"; + reg =3D <0x0 0x1400 0x0 0x100>; + clocks =3D <&ahb_clk>; + interrupts =3D ; + status =3D "disabled"; + }; + + qspi: spi@2400 { + compatible =3D "amd,pensando-elba-qspi", "cdns,qspi-nor"; + reg =3D <0x0 0x2400 0x0 0x400>, + <0x0 0x7fff0000 0x0 0x1000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + interrupts =3D ; + clocks =3D <&flash_clk>; + cdns,fifo-depth =3D <1024>; + cdns,fifo-width =3D <4>; + cdns,trigger-address =3D <0x7fff0000>; + status =3D "disabled"; + }; + + spi0: spi@2800 { + compatible =3D "amd,pensando-elba-spi"; + reg =3D <0x0 0x2800 0x0 0x100>; + #address-cells =3D <1>; + #size-cells =3D <0>; + amd,pensando-elba-syscon =3D <&syscon>; + clocks =3D <&ahb_clk>; + interrupts =3D ; + num-cs =3D <2>; + status =3D "disabled"; + }; + + gpio0: gpio@4000 { + compatible =3D "snps,dw-apb-gpio"; + reg =3D <0x0 0x4000 0x0 0x78>; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "disabled"; + + porta: gpio-port@0 { + compatible =3D "snps,dw-apb-gpio-port"; + reg =3D <0>; + gpio-controller; + #gpio-cells =3D <2>; + ngpios =3D <8>; + interrupts =3D ; + interrupt-controller; + interrupt-parent =3D <&gic>; + #interrupt-cells =3D <2>; + }; + + portb: gpio-port@1 { + compatible =3D "snps,dw-apb-gpio-port"; + reg =3D <1>; + gpio-controller; + #gpio-cells =3D <2>; + ngpios =3D <8>; + }; + }; + + uart0: serial@4800 { + compatible =3D "ns16550a"; + reg =3D <0x0 0x4800 0x0 0x100>; + clocks =3D <&ref_clk>; + interrupts =3D ; + reg-shift =3D <2>; + reg-io-width =3D <4>; + }; + + gic: interrupt-controller@800000 { + compatible =3D "arm,gic-v3"; + reg =3D <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 =3D <2>; + #size-cells =3D <2>; + #interrupt-cells =3D <3>; + ranges; + interrupt-controller; + interrupts =3D ; + + /* + * Elba specific pre-ITS is enabled using the + * existing property socionext,synquacer-pre-its + */ + gic_its: msi-controller@820000 { + compatible =3D "arm,gic-v3-its"; + reg =3D <0x0 0x820000 0x0 0x10000>; + msi-controller; + #msi-cells =3D <1>; + socionext,synquacer-pre-its =3D + <0xc00000 0x1000000>; + }; + }; + + emmc: mmc@30440000 { + compatible =3D "amd,pensando-elba-sd4hc", "cdns,sd4hc"; + reg =3D <0x0 0x30440000 0x0 0x10000>, + <0x0 0x30480044 0x0 0x4>; /* byte-lane ctrl */ + clocks =3D <&emmc_clk>; + interrupts =3D ; + cdns,phy-input-delay-sd-highspeed =3D <0x4>; + cdns,phy-input-delay-legacy =3D <0x4>; + cdns,phy-input-delay-sd-uhs-sdr50 =3D <0x6>; + cdns,phy-input-delay-sd-uhs-ddr50 =3D <0x16>; + mmc-ddr-1_8v; + status =3D "disabled"; + }; + + syscon: syscon@307c0000 { + compatible =3D "amd,pensando-elba-syscon", "syscon"; + reg =3D <0x0 0x307c0000 0x0 0x3000>; + }; + }; +}; --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 41836C74A5B for ; Thu, 23 Mar 2023 00:10:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230194AbjCWAKV (ORCPT ); Wed, 22 Mar 2023 20:10:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229480AbjCWAKK (ORCPT ); Wed, 22 Mar 2023 20:10:10 -0400 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2041.outbound.protection.outlook.com [40.107.212.41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A712D2F791; Wed, 22 Mar 2023 17:09:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gM/NWK2YiH6wlo4oR96ZLK3jvwhnACW/53ACmNwXSRygTwtyIxPoyyY34oawIpIYtmVJIMEAo/zYF+bGzm1Meb2EF/CQHusE4pGSHbVZYU5kwkPdn41ajL5INdCu44BHlzWxfRQueupTKBEy2UfSLbB3cODwOsDgWtgRQk0S5fvE6ie0RinhgkfQ74DBDpGOm8ACAwfonxHcJPyz2P2JKcuf1vV8GnlAMvmZSP4L7B7HHs2P/aKrZnvCHBylyCqENLW6Yz+ix5ndJsS9kIT6zkk74ZE0FfEl91m8xgBFQsqKwPf0+/hQsqMd2m26DwbeI73YYBXEVMwIUkobnyzpiw== 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=mpnIb1O3iD9+RUSdP9aH5CNIYVv5t5KX4+QyjF/xBm8=; b=Ct4KrryDmYMHKg1dX3sm/3RpSz+MqLA10AcqtRdn1yz4O70gW98wFLbY/JW9G7SGpxwojNlf8C+fTos33VSJiHDoCawH0x5d1yPAu+9CGnfyiz2ALchxX75FJeZUMWAARHRgzmE3VnanevtzqzJpxv2cC6pr0M2z0pukDE1/eJV2F+ygd8aPvqrAy2pv+n+TfccTvo6pa6KudEBstYMAI6yUuXQcNIXFXoLE6vbbwnlzYPRMpG2QhzGwGlkeV8oCDQR/iHxJokmgbC1GCgLbYHlfvbvHBnpycrlPlSRWU+8SpX6GVFh+ddEkRr+ixRZBRrH1ituEvovl52wIY6iqQw== 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=mpnIb1O3iD9+RUSdP9aH5CNIYVv5t5KX4+QyjF/xBm8=; b=MfejADrs6qf+YEWvrBc48mpJlGB+q6kNxuCkipNq/0Pe60DnIBbdgeOwCOOot5wTU1kHmOV9pV+tblbFK9XLhqNYOOR1n0nLiWgLeQrONeBRTwtthTT71HUG2Fi+x+6793zTSkFQvMKoi4dXE8VK6n1ocwN3Z0fAeKrjBpcHXFo= Received: from BN9PR03CA0469.namprd03.prod.outlook.com (2603:10b6:408:139::24) by SA1PR12MB8144.namprd12.prod.outlook.com (2603:10b6:806:337::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:09:22 +0000 Received: from BL02EPF000100D1.namprd05.prod.outlook.com (2603:10b6:408:139:cafe::c5) by BN9PR03CA0469.outlook.office365.com (2603:10b6:408:139::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:09:22 +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 BL02EPF000100D1.mail.protection.outlook.com (10.167.241.205) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:09:22 +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.2375.34; Wed, 22 Mar 2023 19:09:19 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 09/15] spi: cadence-quadspi: Add compatible for AMD Pensando Elba SoC Date: Wed, 22 Mar 2023 17:06:51 -0700 Message-ID: <20230323000657.28664-10-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D1:EE_|SA1PR12MB8144:EE_ X-MS-Office365-Filtering-Correlation-Id: 3fe823b9-70b1-4af7-8352-08db2b32dad0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BNj/wH4N1SA9MJXhSqx4GO9TS5rO3yaeekqIxVFMhXbn89BtB0qAtLGrSLAN17Z9mrzo63/iwujkHPk09e3Z5JcizvCEGk1vpdDhYsw/bzeoaQi6XYtGOlkF5eWv2sdLViX0ifqQzxrO2ZbEx1tdq2xkIWxp4InElLh/0Y3t9j46AQ24calq5S/CIZ+WEZ0nWtlT327qhv/gqgH0OMeZEQqY6fStUZkhbAwSPauqGMLBlHlMxIvi3DWrXkND12jNv9/ZLZi8yhjEiYTIDWw0T48plcDbkN3vNIJqNWJF91vwLa2g3c9eJBjAipbhJ8s5mwoYJz7gVQhaTWbJOL5ryBYpaB/Bs2PZcTzvprSWM7kSUb9/zVtjc9Pz4XGvj+fPvDo29KQD+7B1rLLWKimw6Lq+5XXDmiS2jdFyWk8f0e2gSPwLJCKlPS1+2VPWUiMymLgjg/lgJEk+wXwHUl2RTKgVlcaL6ytNdF9iI2gCZLErpMOqSOx0irYoEYN6mq+IysoHnmEp1xQl4hk8wEdpkI1C4aCs+vtJNKrqQtDULKBFcB/dzKaV54xNvCzRztMWirUiIhrwT66WrAGl42q7piba64iJOpgA7116XL5pQlASfT7WSATSKuYWpNOPisOYPslx68BXoPRaoOZUCl5+KqBPSbjCsYfQcie//HjEDjT7fqdL1uvMeuKN4DdjsQH9efTx+soIFYLsKo8qCBYatoOWd4JUPZ3G/7EzOnJICdY= 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:(13230025)(4636009)(396003)(346002)(376002)(39860400002)(136003)(451199018)(36840700001)(40470700004)(46966006)(8936002)(336012)(36756003)(7416002)(40460700003)(7406005)(5660300002)(40480700001)(426003)(47076005)(36860700001)(2616005)(2906002)(82310400005)(478600001)(316002)(54906003)(81166007)(41300700001)(82740400003)(4326008)(1076003)(26005)(8676002)(6916009)(70586007)(356005)(6666004)(186003)(16526019)(70206006)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:09:22.1108 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3fe823b9-70b1-4af7-8352-08db2b32dad0 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: BL02EPF000100D1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8144 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The AMD Pensando Elba SoC has the Cadence QSPI controller integrated. The quirk CQSPI_NEEDS_APB_AHB_HAZARD_WAR is added and if enabled a dummy readback from the controller is performed to ensure synchronization. Signed-off-by: Brad Larson Reported-by: kernel test robot --- v9 changes: - Rebase to linux-next 6.2.0-rc1 --- drivers/spi/spi-cadence-quadspi.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-qu= adspi.c index 64b6a460d739..ad82d2ab3442 100644 --- a/drivers/spi/spi-cadence-quadspi.c +++ b/drivers/spi/spi-cadence-quadspi.c @@ -40,6 +40,7 @@ #define CQSPI_SUPPORT_EXTERNAL_DMA BIT(2) #define CQSPI_NO_SUPPORT_WR_COMPLETION BIT(3) #define CQSPI_SLOW_SRAM BIT(4) +#define CQSPI_NEEDS_APB_AHB_HAZARD_WAR BIT(5) =20 /* Capabilities */ #define CQSPI_SUPPORTS_OCTAL BIT(0) @@ -90,6 +91,7 @@ struct cqspi_st { u32 pd_dev_id; bool wr_completion; bool slow_sram; + bool apb_ahb_hazard; }; =20 struct cqspi_driver_platdata { @@ -1004,6 +1006,13 @@ static int cqspi_indirect_write_execute(struct cqspi= _flash_pdata *f_pdata, if (cqspi->wr_delay) ndelay(cqspi->wr_delay); =20 + /* + * If a hazard exists between the APB and AHB interfaces, perform a + * dummy readback from the controller to ensure synchronization. + */ + if (cqspi->apb_ahb_hazard) + readl(reg_base + CQSPI_REG_INDIRECTWR); + while (remaining > 0) { size_t write_words, mod_bytes; =20 @@ -1734,6 +1743,8 @@ static int cqspi_probe(struct platform_device *pdev) cqspi->wr_completion =3D false; if (ddata->quirks & CQSPI_SLOW_SRAM) cqspi->slow_sram =3D true; + if (ddata->quirks & CQSPI_NEEDS_APB_AHB_HAZARD_WAR) + cqspi->apb_ahb_hazard =3D true; =20 if (of_device_is_compatible(pdev->dev.of_node, "xlnx,versal-ospi-1.0")) @@ -1859,6 +1870,10 @@ static const struct cqspi_driver_platdata versal_osp= i =3D { .get_dma_status =3D cqspi_get_versal_dma_status, }; =20 +static const struct cqspi_driver_platdata pensando_cdns_qspi =3D { + .quirks =3D CQSPI_NEEDS_APB_AHB_HAZARD_WAR | CQSPI_DISABLE_DAC_MODE, +}; + static const struct of_device_id cqspi_dt_ids[] =3D { { .compatible =3D "cdns,qspi-nor", @@ -1884,6 +1899,10 @@ static const struct of_device_id cqspi_dt_ids[] =3D { .compatible =3D "intel,socfpga-qspi", .data =3D &socfpga_qspi, }, + { + .compatible =3D "amd,pensando-elba-qspi", + .data =3D &pensando_cdns_qspi, + }, { /* end of table */ } }; =20 --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 33296C7619A for ; Thu, 23 Mar 2023 00:10:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230078AbjCWAKh (ORCPT ); Wed, 22 Mar 2023 20:10:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229825AbjCWAK3 (ORCPT ); Wed, 22 Mar 2023 20:10:29 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2083.outbound.protection.outlook.com [40.107.237.83]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D46E30B29; Wed, 22 Mar 2023 17:09:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XDwYu1SERZS1u63v6gVq7/HVvgTH9/BAshr0Hj0ac6EgX+NpWXbk9a+gQ8Su0MEQi1DQdErFpuRVoP5YX6bxrSErmQNPElb/HAEAYS2CpMH1nEzbEyjiE00XwrS0KK4+kl7TCCM8eqUCPYux/JX5l7K9VD8CkHzlBvPwgxNxtTDyc1c1upjSr6XbnCeXy49haPjy7kfDk3iqmnNV8sdCWmTXy4aWwmFwfyHZ+4zZ/jrCCSC7ayPKIL3lSmkz+U/dzo3/xsRL/a/Uq87aYKN49zZHtPpe9Tpj3iI3aVpxNl8+0aPzdPKt8HcmgBvEeD76pOyl7qoXcdabuZJuAKFqJQ== 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=UYkoSlbMMUE1LcDfRYmOgiXWrpEnjJ0YKyuk1LOG4Ns=; b=DWWdBGnV71H1Iy8ljSA+B/crswydMIjFftDiyfQRD4CjlbAGXrtMAkGpnGZ97dAdTEPsgpi1JhgAc0GU4RkZcD6BfcdDENbwuNj7HZmyObMfrlmLzNe1BbyFZ0ZJGEJqaMcyXOUD1ZoIIHMnktVsbQL8OhYV1BtGXaAaQkxa62K75kjDPhnocG1Wb4u19eKsuKhSA2fE2q3KJg/4JL8Hh4RSFp3JkGlj9nut3AuY0B3hJoZ/+ram/liEQCoV7aJ4IcpaW3wFs4OXePre7VvJm+rCIOunYxRi/Dmv/r3npWe8Pv/ztFa32Xn/gEERkqOU1j3nHo78Yf5cjgZmrUlV0A== 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=UYkoSlbMMUE1LcDfRYmOgiXWrpEnjJ0YKyuk1LOG4Ns=; b=RSa1bRHUTMz108VQGOsOgGVLbBsEUU51X2hfhiylHI3ceXIFoOt2Zv0g4vUEU0sXUVpikp0Yp/baUdVcNe4DHNyiwJ5TuqzASru5TJrm+Q42+lr2Q/qrcyBRYvgzQlMwmpty16vh/FcSLs5AMgSvvpaTg71OSUC8YoPenckR4rY= Received: from BL1PR13CA0241.namprd13.prod.outlook.com (2603:10b6:208:2ba::6) by IA0PR12MB8647.namprd12.prod.outlook.com (2603:10b6:208:480::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:09:41 +0000 Received: from BL02EPF000100D3.namprd05.prod.outlook.com (2603:10b6:208:2ba:cafe::10) by BL1PR13CA0241.outlook.office365.com (2603:10b6:208:2ba::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:09:41 +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 BL02EPF000100D3.mail.protection.outlook.com (10.167.241.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:09: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.2375.34; Wed, 22 Mar 2023 19:09:37 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 10/15] spi: dw: Add support for AMD Pensando Elba SoC Date: Wed, 22 Mar 2023 17:06:52 -0700 Message-ID: <20230323000657.28664-11-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D3:EE_|IA0PR12MB8647:EE_ X-MS-Office365-Filtering-Correlation-Id: 6404ce8e-3265-46f8-8508-08db2b32e614 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CV4MTeJz/rPCkS97zsoS7LRSsru/KNI+hugmHdpFSpSbMZOgPgywoVn2Hb4Eq/geejCnSZoEYcCAxA0bjRNCUJnQyV+b0TqugzM7luwneOnVj7mnZ5RB6K2i4NCXqOLqIhBWI4Ly/jMAzW1EQ9ivOt4Vof1RB2F6ImjRTp6yGh5dIwhtSQVULO+ynumQKKBtXQQDtbQwjojfKGu6jTDVdVWCQqstGPARrhxCzgs0saeFuvGkr9mJ7uQxeSEKbN0ZTX7w/I9VkcfQNYTsq+XhCJsnCRSVip8RHbe+pXSiA3BWLimG7b2mkJ4u+1gPQHwkitvGbJy3IpJrpYjp4iPu2J+CAtI7RUY2jJrN2eOyDiBYMHBHua1nO+LBebPd1Cule49EIqp0oF8H/5BVT535Dj3jeqVRTocRsfv7+jqsYfqW2lGC2gr3WFMu2xnxwn+Em8ta3vzziJPx8GDfhey1WrNDj9LVtO/r9R6lQiUmzqZWURwTOYFhv9qq/pHM1BCG+B6qfi6fqgzsj0pXJyPjBsvVat0kmZ3r6CTPgY7LY2L6+mbZwOQBf0VfV1AGtgc6M+tvLcYBYWYyAH1Fl03qLZVOGfWOUbaRckhAVGfNUEkOvKZhUBAbCULogJ/nGNzAMFjah/Lyhr/p3K6Ixoht3euRyXrYM0PUY2igpEPCHssE5pnvGhDwFPGgaMreiUs6EZ8WMEuiEFPZ4hfMVmIkEuFre6NIPNmfYbMxga741LA= 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:(13230025)(4636009)(376002)(136003)(396003)(39860400002)(346002)(451199018)(36840700001)(40470700004)(46966006)(82310400005)(82740400003)(2616005)(16526019)(1076003)(26005)(6666004)(36756003)(336012)(7406005)(2906002)(7416002)(356005)(47076005)(426003)(81166007)(5660300002)(8936002)(36860700001)(41300700001)(40460700003)(83380400001)(478600001)(40480700001)(54906003)(186003)(6916009)(70586007)(316002)(8676002)(4326008)(70206006)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:09:41.0895 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6404ce8e-3265-46f8-8508-08db2b32e614 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: BL02EPF000100D3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8647 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The AMD Pensando Elba SoC includes a DW apb_ssi v4 controller with device specific chip-select control. The Elba SoC provides four chip-selects where the native DW IP supports two chip-selects. The Elba DW_SPI instance has two native CS signals that are always overridden. Signed-off-by: Brad Larson Reviewed-by: Serge Semin Reported-by: kernel test robot --- v12 changes: - Add a newline in function dw_spi_elba_init() v11 changes: - Simplify dw_spi_elb_init by using syscon_regmap_lookup_by_phandle() v10 changes: - Delete struct dw_spi_elba, use regmap directly in priv v9 changes: - Add use of macros GENMASK() and BIT() - Change ELBA_SPICS_SHIFT() to ELBA_SPICS_OFFSET() --- drivers/spi/spi-dw-mmio.c | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c index 26c40ea6dd12..8cfad64b5463 100644 --- a/drivers/spi/spi-dw-mmio.c +++ b/drivers/spi/spi-dw-mmio.c @@ -53,6 +53,20 @@ struct dw_spi_mscc { void __iomem *spi_mst; /* Not sparx5 */ }; =20 +/* + * Elba SoC does not use ssi, pin override is used for cs 0,1 and + * gpios for cs 2,3 as defined in the device tree. + * + * cs: | 1 0 + * bit: |---3-------2-------1-------0 + * | cs1 cs1_ovr cs0 cs0_ovr + */ +#define ELBA_SPICS_REG 0x2468 +#define ELBA_SPICS_OFFSET(cs) ((cs) << 1) +#define ELBA_SPICS_MASK(cs) (GENMASK(1, 0) << ELBA_SPICS_OFFSET(cs)) +#define ELBA_SPICS_SET(cs, val) \ + ((((val) << 1) | BIT(0)) << ELBA_SPICS_OFFSET(cs)) + /* * The Designware SPI controller (referred to as master in the documentati= on) * automatically deasserts chip select when the tx fifo is empty. The chip @@ -237,6 +251,49 @@ static int dw_spi_canaan_k210_init(struct platform_dev= ice *pdev, return 0; } =20 +static void dw_spi_elba_override_cs(struct regmap *syscon, int cs, int ena= ble) +{ + regmap_update_bits(syscon, ELBA_SPICS_REG, ELBA_SPICS_MASK(cs), + ELBA_SPICS_SET(cs, enable)); +} + +static void dw_spi_elba_set_cs(struct spi_device *spi, bool enable) +{ + struct dw_spi *dws =3D spi_master_get_devdata(spi->master); + struct dw_spi_mmio *dwsmmio =3D container_of(dws, struct dw_spi_mmio, dws= ); + struct regmap *syscon =3D dwsmmio->priv; + u8 cs; + + cs =3D spi->chip_select; + if (cs < 2) + dw_spi_elba_override_cs(syscon, spi->chip_select, enable); + + /* + * The DW SPI controller needs a native CS bit selected to start + * the serial engine. + */ + spi->chip_select =3D 0; + dw_spi_set_cs(spi, enable); + spi->chip_select =3D cs; +} + +static int dw_spi_elba_init(struct platform_device *pdev, + struct dw_spi_mmio *dwsmmio) +{ + struct regmap *syscon; + + syscon =3D syscon_regmap_lookup_by_phandle(dev_of_node(&pdev->dev), + "amd,pensando-elba-syscon"); + if (IS_ERR(syscon)) + return dev_err_probe(&pdev->dev, PTR_ERR(syscon), + "syscon regmap lookup failed\n"); + + dwsmmio->priv =3D syscon; + dwsmmio->dws.set_cs =3D dw_spi_elba_set_cs; + + return 0; +} + static int dw_spi_mmio_probe(struct platform_device *pdev) { int (*init_func)(struct platform_device *pdev, @@ -352,6 +409,7 @@ static const struct of_device_id dw_spi_mmio_of_match[]= =3D { { .compatible =3D "intel,thunderbay-ssi", .data =3D dw_spi_intel_init}, { .compatible =3D "microchip,sparx5-spi", dw_spi_mscc_sparx5_init}, { .compatible =3D "canaan,k210-spi", dw_spi_canaan_k210_init}, + { .compatible =3D "amd,pensando-elba-spi", .data =3D dw_spi_elba_init}, { /* end of table */} }; MODULE_DEVICE_TABLE(of, dw_spi_mmio_of_match); --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 68A41C6FD1F for ; Thu, 23 Mar 2023 00:11:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230519AbjCWALG (ORCPT ); Wed, 22 Mar 2023 20:11:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230059AbjCWAKv (ORCPT ); Wed, 22 Mar 2023 20:10:51 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4DA231E37; Wed, 22 Mar 2023 17:10:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hyNKk2EPWia4ZUVAsbcMelXnyckZilv+8G2tWYXIXbi2aMasVlRVlvah5OUHg5YcN/f6D7MjafwoPiD9qNThA97qhJsiCi6zMjK88PYAv82B+2TUjoxd/cTYCnmOaUotnOF1vvr0cwdpKUXrXUVPwzqdpQjgeRUkbDuyXZwU+dp3hNrLQRoADWMJUu8e/dG7XcoeKa0SY06HwUB7ernxozUhzier0vYfQUlizmXZDoHbnSGpQyUNqDaB3dBNbje6x75Fry1u6VyE2cYjGxlsNZc+8N2I+HQj9N17pIt4JlvKSefWpeADm7u/FZmKwb2NgtVG5LCPf1Fos0OUV34Zzw== 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=ymfACAjSLWbCk+4U3bvrCLTQlZYsf0VDrwtsvVsOjLE=; b=FJ+WqYs3Abl+R9eY++HiNPWqRkSfxE5iXyaEGtO0GCo0mlxZqT9V1VaNMnGbe5V7tLeInqSENzokUPIY57IHfspEa7UXicHcBOo37ViSFiJRqjfb5oJbi/DdNUmqcB3PgIv81RbFqX5jbQT0Q3sRO9eOaf9sWUt6ySo0lxrbHlRwDfHFhKN0Z5QLhy4mUCcsgeMzxBifWBedO4yCBq+pVfLeLc1i4Hi+lz0cKmK6T4zI03p6HmaDfYbDzvKBBNXvnUe32mch1Ex2ofFlrj/izWpFEQ7AhYFnv4CbmtT52W/hKVtBePt9ihcmStIq4izGESCwyhPllBRcG+0ZBHqteA== 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=ymfACAjSLWbCk+4U3bvrCLTQlZYsf0VDrwtsvVsOjLE=; b=xQLmccMVPSGW8jo4cqx+mhrsNPBl+2FjvkQ1h0IBSSIfC0nQ7Mnz2Rd/ddDsSKxeZLCcxunIl0Jh3p98Uo1nc1nrRadxrXNtCepVwyfDp09I8VWXjUmYFeR74r2DA/mmKnAxOKnp1sSjbiA1EgN//WPCZPOaJotdjH7MNfS57v0= Received: from MN2PR11CA0012.namprd11.prod.outlook.com (2603:10b6:208:23b::17) by BL0PR12MB5506.namprd12.prod.outlook.com (2603:10b6:208:1cb::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:10:00 +0000 Received: from BL02EPF000100D0.namprd05.prod.outlook.com (2603:10b6:208:23b:cafe::67) by MN2PR11CA0012.outlook.office365.com (2603:10b6:208:23b::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:10:00 +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 BL02EPF000100D0.mail.protection.outlook.com (10.167.241.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:10:00 +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.2375.34; Wed, 22 Mar 2023 19:09:57 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 11/15] mmc: sdhci-cadence: Enable device specific override of writel() Date: Wed, 22 Mar 2023 17:06:53 -0700 Message-ID: <20230323000657.28664-12-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D0:EE_|BL0PR12MB5506:EE_ X-MS-Office365-Filtering-Correlation-Id: 0bdbfc15-741f-4fe6-6d47-08db2b32f1c4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uzI6ke5ikwd2dHSVTV1j9PvcvYw+A+eOGQYCx0oxrJ9DwoIpuQhLyCHj4djG4bb6HEVLds4+Jr6pljoUEYADapcZ8C3t7TXgvsud7sCiLj3q7M7F/lwoMxkbF2R4mmYQN5r3c/h0PaaNjJTQ99NCC6Yr2LQ4IrG8i46uftBKUUx3beqAsNNZnTZohHwA+U0D/MresNTPfQ5KXaWgL8rpiJ2IEqptGJ5k2mH0I3R/VSkhqpcHq1fZgTKlOhrO0Mj14QvBx1sfb7ZFBsycoT0oLeNgpafdE7pOrbtl2lb5KlBz0DwlZgBYYw5qClYbSmEcEznG35XDi+P9JKSFrTpTBXz3/H6fqE06a0dcdk3c5EsEsAidCB2kagWcMOUGTJNxy+0bGd77cS0jlpKIvYtrpvL2uqO4uefjVQ7X8RLgDwa+KgaDCKKtE7lQjHlFUCDVh+U+e3tezBKjpYTvl+39ice/Fe1FLcQM7pCsKjsioJhyMMrrWr5E0biPWrGe3Ea5StIr+yj63vjV1JgyMIW9ACa7uET7FqgE5BoabTYJ05lEKv862wvvoOE6ZpepOArpKBG7/itJUlnX4KWnpITiN3DNP6YvvjjZfeegrhmAoKzTS0NJHF3EYTSg0vCpAhFsmL7OvmxIesxUxuqs5HVFzGcGnwXXgYwb9k8Q0cVTF4bA6CYEWdphijHKOyxeKm1LwJZyYjjRmf/X1nh84VfIUKJ7iVFGsGOEJZSjJ2nARVQ= 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:(13230025)(4636009)(396003)(136003)(346002)(39860400002)(376002)(451199018)(46966006)(40470700004)(36840700001)(7416002)(5660300002)(8936002)(7406005)(41300700001)(36860700001)(82310400005)(40480700001)(36756003)(356005)(40460700003)(82740400003)(81166007)(2906002)(47076005)(16526019)(336012)(1076003)(83380400001)(6666004)(426003)(478600001)(2616005)(186003)(26005)(4326008)(54906003)(316002)(70206006)(8676002)(6916009)(70586007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:10:00.6973 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0bdbfc15-741f-4fe6-6d47-08db2b32f1c4 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: BL02EPF000100D0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB5506 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" SoCs with device specific Cadence implementation, such as setting byte-enables before the write, need to override writel(). Add a callback where the default is writel() for all existing chips. Signed-off-by: Brad Larson Acked-by: Adrian Hunter Reported-by: kernel test robot --- v10 changes: - The 1st patch adding private writel() is unchanged. The 2nd patch is spl= it into two patches to provide for device specific init in one patch with no effect on existing designs. Then add the pensando support into the next = patch. Then the 4th patch is mmc hardware reset support which is unchanged. v9 changes: - No change to this patch but as some patches are deleted and this is a respin the three successive patches to sdhci-cadence.c are patches 12, 13, and 14 which do the following: 1. Add ability for Cadence specific design to have priv writel(). 2. Add Elba SoC support that requires its own priv writel() for byte-lane control . 3. Add support for mmc hardware reset. --- drivers/mmc/host/sdhci-cadence.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cade= nce.c index 6f2de54a5987..708d4297f241 100644 --- a/drivers/mmc/host/sdhci-cadence.c +++ b/drivers/mmc/host/sdhci-cadence.c @@ -67,6 +67,7 @@ struct sdhci_cdns_phy_param { struct sdhci_cdns_priv { void __iomem *hrs_addr; bool enhanced_strobe; + void (*priv_writel)(struct sdhci_cdns_priv *priv, u32 val, void __iomem *= reg); unsigned int nr_phy_params; struct sdhci_cdns_phy_param phy_params[]; }; @@ -90,6 +91,12 @@ static const struct sdhci_cdns_phy_cfg sdhci_cdns_phy_cf= gs[] =3D { { "cdns,phy-dll-delay-strobe", SDHCI_CDNS_PHY_DLY_STROBE, }, }; =20 +static inline void cdns_writel(struct sdhci_cdns_priv *priv, u32 val, + void __iomem *reg) +{ + writel(val, reg); +} + static int sdhci_cdns_write_phy_reg(struct sdhci_cdns_priv *priv, u8 addr, u8 data) { @@ -104,17 +111,17 @@ static int sdhci_cdns_write_phy_reg(struct sdhci_cdns= _priv *priv, =20 tmp =3D FIELD_PREP(SDHCI_CDNS_HRS04_WDATA, data) | FIELD_PREP(SDHCI_CDNS_HRS04_ADDR, addr); - writel(tmp, reg); + priv->priv_writel(priv, tmp, reg); =20 tmp |=3D SDHCI_CDNS_HRS04_WR; - writel(tmp, reg); + priv->priv_writel(priv, tmp, reg); =20 ret =3D readl_poll_timeout(reg, tmp, tmp & SDHCI_CDNS_HRS04_ACK, 0, 10); if (ret) return ret; =20 tmp &=3D ~SDHCI_CDNS_HRS04_WR; - writel(tmp, reg); + priv->priv_writel(priv, tmp, reg); =20 ret =3D readl_poll_timeout(reg, tmp, !(tmp & SDHCI_CDNS_HRS04_ACK), 0, 10); @@ -191,7 +198,7 @@ static void sdhci_cdns_set_emmc_mode(struct sdhci_cdns_= priv *priv, u32 mode) tmp =3D readl(priv->hrs_addr + SDHCI_CDNS_HRS06); tmp &=3D ~SDHCI_CDNS_HRS06_MODE; tmp |=3D FIELD_PREP(SDHCI_CDNS_HRS06_MODE, mode); - writel(tmp, priv->hrs_addr + SDHCI_CDNS_HRS06); + priv->priv_writel(priv, tmp, priv->hrs_addr + SDHCI_CDNS_HRS06); } =20 static u32 sdhci_cdns_get_emmc_mode(struct sdhci_cdns_priv *priv) @@ -223,7 +230,7 @@ static int sdhci_cdns_set_tune_val(struct sdhci_host *h= ost, unsigned int val) */ for (i =3D 0; i < 2; i++) { tmp |=3D SDHCI_CDNS_HRS06_TUNE_UP; - writel(tmp, reg); + priv->priv_writel(priv, tmp, reg); =20 ret =3D readl_poll_timeout(reg, tmp, !(tmp & SDHCI_CDNS_HRS06_TUNE_UP), @@ -386,6 +393,7 @@ static int sdhci_cdns_probe(struct platform_device *pde= v) priv->nr_phy_params =3D nr_phy_params; priv->hrs_addr =3D host->ioaddr; priv->enhanced_strobe =3D false; + priv->priv_writel =3D cdns_writel; host->ioaddr +=3D SDHCI_CDNS_SRS_BASE; host->mmc_host_ops.hs400_enhanced_strobe =3D sdhci_cdns_hs400_enhanced_strobe; --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 737F6C7619A for ; Thu, 23 Mar 2023 00:11:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231146AbjCWALl (ORCPT ); Wed, 22 Mar 2023 20:11:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230493AbjCWALY (ORCPT ); Wed, 22 Mar 2023 20:11:24 -0400 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2042.outbound.protection.outlook.com [40.107.101.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2823335EDE; Wed, 22 Mar 2023 17:10:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dsbH/d1iUxSe3H2SMDgHI3OyPjR/suEmbkx9n6Yc6U3vr7NXpz3vymHEERgfe7hWPFFp2x6rEsAgUfxyCwjDSWzVSXK3k883rkctuE8LY4lHGJML+lzTM2PLYA225D9D4+3zV+WlJSti+ydLo2oyeNhXqX8VtSySiW6xZocOgvf3lrXbsc/DsUkyLhseyy+NILc2x/nVkT0AwJLqRZsiAK3jYcZncG0WB1PASMtNSjfP1WVcyDCV+T8YpyK7Eh5g2GgADAX9TyGvVLACaisuQR3UzZJAYIJO3bQ8JDvpY+LOEgI5hC8FjCtUYukHFcnHcdLL9z5hYYO1Z3+weAbVBA== 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=1MDls9ITIFGGKkwfzufckKk9fjZ1Lh0w+zr7TA/z5wc=; b=gclitdk/YNVPSCRObHenfOhDJyADSZMz67t9fCYLU9LgqgYgzly+vXIwGTBZjnp6C7yxma2s1vMCgrtQ9DXi0szOshdk6mQTI2X2ZhDarKQawKCdbEmSerRDgvhxZ7EtbTIZgCoihIoOuONljcxLXY/ap4Qn2GTcjPrmBJnt42wQ8tEkmxg/xx5+e3T82cZmtG79ZeXuFUPow2w0wsQA4WYtYlWKWIY1HbfG/V4I5YfkGlSFlXidjrwK0tLpagd9JP0PiGAt6qNugfqbXvIhs1EYF6ogmh42nZw0/ili366P7FsGIsGHxSnEcePl8xTyIgOxKr4DIuYK0MdOYysuYw== 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=1MDls9ITIFGGKkwfzufckKk9fjZ1Lh0w+zr7TA/z5wc=; b=Jnymu99BEijCKDHV9pa6ClhJAUb8WNPUYrvkvGuGMe2uyigHDhDqqdBnJl9AH4FM+9IubqvJOU+LzaXGCCINHvkfHFt3vF8H9ESE7uekek0VedqZLqWJ8BhoBkcAFTr89ZqZA8WcFDXqT+MOOaFZanYEt5fdnmtTYDMg2MgniRc= Received: from BL1PR13CA0241.namprd13.prod.outlook.com (2603:10b6:208:2ba::6) by MN2PR12MB4517.namprd12.prod.outlook.com (2603:10b6:208:267::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar 2023 00:10:19 +0000 Received: from BL02EPF000100D3.namprd05.prod.outlook.com (2603:10b6:208:2ba:cafe::d8) by BL1PR13CA0241.outlook.office365.com (2603:10b6:208:2ba::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 00:10:19 +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 BL02EPF000100D3.mail.protection.outlook.com (10.167.241.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:10:19 +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.2375.34; Wed, 22 Mar 2023 19:10:16 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 12/15] mmc: sdhci-cadence: Support device specific init during probe Date: Wed, 22 Mar 2023 17:06:54 -0700 Message-ID: <20230323000657.28664-13-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D3:EE_|MN2PR12MB4517:EE_ X-MS-Office365-Filtering-Correlation-Id: 519749aa-39ef-412f-539a-08db2b32fcef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CrdNSGjl+Xzyf1NStkBP1cYKS5J4NHFTzF27gfPDPL3jNeJdl94cpL4bMt6Nl/xNugF/12H2HPhmjPlzGaeqS9WricERWLTdRN4lLihxFM/HY4zR+xs5vdRbu60gZq6/xK70fC5I6Mw7Jg5bDgmjYUmmhTsKI5gKg1wnJf3mlIhWD1suwGZS7EATcg0bl+FmkIQxOVJq55C8JAu2wpeiNAAvpXwU2/jO9NdLClMNMDuNvniC5HhqlhWFvm0okFIsMDbvP61k2yLDi7Tczig0iNhqQ5JEOERMt2RwHqcB2qX9boi8v/Rws3xfU8DQhKGnSdVqhtNaAYhhHng3q2YX/Z8chCCCQhFaTu4z0//GCpp9sdAlvkFiPVjQNnvofeG8XO0CZJZ1MmJCyB0YRt429MlQVX0PowoWZyFy/Qg6lNlUQd0MUsxxv4O742jBn2u66OHOHkIFeWA+KL/kk/CPMEcrfcZIf+ikOzydWlpQMAF+MVrZl/5uTSvgVf6OAy+ZF4ZP0uaV4YTzc89N+FrmvsoRebDOZP1rL1xzUmS35iKooNwvJmhMBKOtq7HotKRnaEU2H8N/HCpz/QJ5H8lvRTqnG3a+iPrxaWIRQFKLKwjz2u/rC8hC+cMjlZ8letknoKt/zzMS5C4+Bu0oNZlFX+nSaYbVBFlGM0pRvm9zNB6KBdXbCbQ+gp95tIx3zOsRwwdLgc0E0AIXPh1n4EgCGlV86qQPBA8WQtimu68lwd8= 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:(13230025)(4636009)(396003)(376002)(39860400002)(346002)(136003)(451199018)(36840700001)(40470700004)(46966006)(82740400003)(356005)(40480700001)(81166007)(40460700003)(186003)(16526019)(54906003)(336012)(2906002)(316002)(47076005)(83380400001)(36860700001)(426003)(41300700001)(82310400005)(70586007)(6916009)(4326008)(70206006)(2616005)(8676002)(26005)(1076003)(7416002)(7406005)(478600001)(6666004)(8936002)(5660300002)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:10:19.4334 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 519749aa-39ef-412f-539a-08db2b32fcef 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: BL02EPF000100D3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4517 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Move struct sdhci_pltfm_data under new struct sdhci_cdns_drv_data. Add an init() into sdhci_cdns_drv_data for platform specific device initialization in the device probe which is not used for existing devices. Signed-off-by: Brad Larson Acked-by: Adrian Hunter Reported-by: kernel test robot --- v10 changes: - New patch to provide for platform specific init() with no change to existing designs. --- drivers/mmc/host/sdhci-cadence.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cade= nce.c index 708d4297f241..c528a25f48b8 100644 --- a/drivers/mmc/host/sdhci-cadence.c +++ b/drivers/mmc/host/sdhci-cadence.c @@ -77,6 +77,11 @@ struct sdhci_cdns_phy_cfg { u8 addr; }; =20 +struct sdhci_cdns_drv_data { + int (*init)(struct platform_device *pdev); + const struct sdhci_pltfm_data pltfm_data; +}; + static const struct sdhci_cdns_phy_cfg sdhci_cdns_phy_cfgs[] =3D { { "cdns,phy-input-delay-sd-highspeed", SDHCI_CDNS_PHY_DLY_SD_HS, }, { "cdns,phy-input-delay-legacy", SDHCI_CDNS_PHY_DLY_SD_DEFAULT, }, @@ -325,13 +330,17 @@ static const struct sdhci_ops sdhci_cdns_ops =3D { .set_uhs_signaling =3D sdhci_cdns_set_uhs_signaling, }; =20 -static const struct sdhci_pltfm_data sdhci_cdns_uniphier_pltfm_data =3D { - .ops =3D &sdhci_cdns_ops, - .quirks2 =3D SDHCI_QUIRK2_PRESET_VALUE_BROKEN, +static const struct sdhci_cdns_drv_data sdhci_cdns_uniphier_drv_data =3D { + .pltfm_data =3D { + .ops =3D &sdhci_cdns_ops, + .quirks2 =3D SDHCI_QUIRK2_PRESET_VALUE_BROKEN, + }, }; =20 -static const struct sdhci_pltfm_data sdhci_cdns_pltfm_data =3D { - .ops =3D &sdhci_cdns_ops, +static const struct sdhci_cdns_drv_data sdhci_cdns_drv_data =3D { + .pltfm_data =3D { + .ops =3D &sdhci_cdns_ops, + }, }; =20 static void sdhci_cdns_hs400_enhanced_strobe(struct mmc_host *mmc, @@ -357,7 +366,7 @@ static void sdhci_cdns_hs400_enhanced_strobe(struct mmc= _host *mmc, static int sdhci_cdns_probe(struct platform_device *pdev) { struct sdhci_host *host; - const struct sdhci_pltfm_data *data; + const struct sdhci_cdns_drv_data *data; struct sdhci_pltfm_host *pltfm_host; struct sdhci_cdns_priv *priv; struct clk *clk; @@ -376,10 +385,10 @@ static int sdhci_cdns_probe(struct platform_device *p= dev) =20 data =3D of_device_get_match_data(dev); if (!data) - data =3D &sdhci_cdns_pltfm_data; + data =3D &sdhci_cdns_drv_data; =20 nr_phy_params =3D sdhci_cdns_phy_param_count(dev->of_node); - host =3D sdhci_pltfm_init(pdev, data, + host =3D sdhci_pltfm_init(pdev, &data->pltfm_data, struct_size(priv, phy_params, nr_phy_params)); if (IS_ERR(host)) { ret =3D PTR_ERR(host); @@ -397,6 +406,11 @@ static int sdhci_cdns_probe(struct platform_device *pd= ev) host->ioaddr +=3D SDHCI_CDNS_SRS_BASE; host->mmc_host_ops.hs400_enhanced_strobe =3D sdhci_cdns_hs400_enhanced_strobe; + if (data->init) { + ret =3D data->init(pdev); + if (ret) + goto free; + } sdhci_enable_v4_mode(host); __sdhci_read_caps(host, &version, NULL, NULL); =20 @@ -461,7 +475,7 @@ static const struct dev_pm_ops sdhci_cdns_pm_ops =3D { static const struct of_device_id sdhci_cdns_match[] =3D { { .compatible =3D "socionext,uniphier-sd4hc", - .data =3D &sdhci_cdns_uniphier_pltfm_data, + .data =3D &sdhci_cdns_uniphier_drv_data, }, { .compatible =3D "cdns,sd4hc" }, { /* sentinel */ } --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 DF1FAC6FD1F for ; Thu, 23 Mar 2023 00:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231196AbjCWAL4 (ORCPT ); Wed, 22 Mar 2023 20:11:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231140AbjCWALi (ORCPT ); Wed, 22 Mar 2023 20:11:38 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2485B35EE2; Wed, 22 Mar 2023 17:11:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=USkBcuwhHIBAs83nSELKcqH16k4B4+TvNdI3CieXGZ28rhI0Q1ukdwZrmW93O3HROw6KOihlsfFmZi55pfaSoZJQGmPf2NJi9XyF0vqyX6MrC7jN83WjPm3PIEWilcqZ4OUMEu8G3FQWXX2sNzmf745FXPdNqNDxv/NZdgzabVwl910jIbFsMm3MYzaSRSGdYRZVY08x12aRZzBEI0F7X+CJ1bhla1C1xwz8BG1j+5cnjSP9MtJhxZWGycPuTk6ZiCdGp3PV6qOJzjp3jOT8yRrXlz4B5mCP2lK+7nvefNn2Z6BZdMaVqVrtHdAIQRXwDXhuwhXUMrRNKCwLo7wh6Q== 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=w/oYrqJ2MVHAPXs4YEdRHbzeuMzFW5jeOoSN8M0D6iw=; b=SH4TSJ2qQCMjaCMTosy6w5EIdcMthjZ3+8Ud6lpLzcM6cjU1T8MT7KMK+2KL+Wv8/HQXfVK2GfJ/4v6mciJIlX+rlDcXFEUm5xnE5rljoj01dTTqzQOc6T6Tw9fVsGbRdY0lA3PxB74O9+sxnhuZfwF2tDtNLJz9AuVKKVwlTdZ/9NagXi6yrPEYrUwYlexqsGkISOa3pPIyTLX6iIwAypLZs3KvgQfv2HvFiSIi74A/L3Sy4fXtqKtcpaV8Kgu2BghTMq68R2rPmpCRAfS2Elrkiru3jjtWxaxMUUIjyZ5Jd66ewH842rDBIbwZCnNiLgXNMWgfM7dmr+WZwqq51A== 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=w/oYrqJ2MVHAPXs4YEdRHbzeuMzFW5jeOoSN8M0D6iw=; b=IaHiZfO0RDpSxgJ7xbRMaMFRHWwykZl2ZNKnTacaiuRFh21p4PqJQdT/2FH5n8mgB+hZAayo1qC0l2s9mjEv9C7U9G2M0pC6AUVQlhL4/3TmpbU7zyV7MRsbpHQvQuBB05uzmZRPEp6bW1/Pm1fz3W3Z+OYWwfmazM7C8F41rjQ= Received: from BN9PR03CA0767.namprd03.prod.outlook.com (2603:10b6:408:13a::22) by MW4PR12MB5627.namprd12.prod.outlook.com (2603:10b6:303:16a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar 2023 00:10:34 +0000 Received: from BL02EPF000100D2.namprd05.prod.outlook.com (2603:10b6:408:13a:cafe::6c) by BN9PR03CA0767.outlook.office365.com (2603:10b6:408:13a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:10:34 +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 BL02EPF000100D2.mail.protection.outlook.com (10.167.241.206) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:10:34 +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.2375.34; Wed, 22 Mar 2023 19:10:31 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 13/15] mmc: sdhci-cadence: Add AMD Pensando Elba SoC support Date: Wed, 22 Mar 2023 17:06:55 -0700 Message-ID: <20230323000657.28664-14-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D2:EE_|MW4PR12MB5627:EE_ X-MS-Office365-Filtering-Correlation-Id: fb2008a5-bb39-4e9b-e457-08db2b3305a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: luoOiRiGmtwpMoPdG3HlX3wOrCnPgqFd5IgNfdDbFKEKQiJ7DmI7ySCOcnfGEMQvSb99JOiz9BEjAgR/98fahKbO4PhybxqYHyFmJSFKWSfuE1LdsOmmyshSIaCnp7z+0FmJ1GcJePpWeLe6UOTDvSHoNomfBNaeHlalZYQDVEslr0P40fiAvfvlpv89HW50uDDK5O8LV/kva/t44bmqIQ7glrP00+JfwyWs/Z3EdtVlXzuwLtcdwiYB6SqjTg6l9DBr6ccU9LMsRebEE6O9UKpwWZyeawwnB19VokO06GgWHWtorxMfyqv7gJ1UJz8i9Wt2dkuZAtYbwD734zgOKu0IBK4ek+UE6hT/1BxBnZ5qnU8cArf2gif2Y4F5VrsMcohmrrCFnBe7istl2bb7M10sykclMnp4uq6jFxPRbqRIOgVRsO0M50q5x9hiaaKxZr49bwQQwTFyehDj3RlGUcuKCC8Y475YnOnkYfRxNPwOXgAXnSzkVOuL73LuL/ZV/hpe+FnMWXqEvQqYV6C3mnRaSaJdEd+T8x2/mnuvTt+ZchZ7gk/ebIgMrDw5oa2nvaAVOJSi3z2TPeR1g3H36Sj97DT71f4qdzXrkODJrX9Ao5mX6HS1MLyMmGZ9Fdwa471wXEPjbyNKFCf4zVGPk3P96jAQ9lmZaeLp7XAL2F5SASCNzD4aCD66C7zbV2/yZCBEFxPV2Vg+L/YkfWZZk+xmW1ImV7MfCyr/uGiGCCg= 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:(13230025)(4636009)(39860400002)(136003)(396003)(376002)(346002)(451199018)(46966006)(36840700001)(40470700004)(36860700001)(41300700001)(54906003)(7416002)(7406005)(5660300002)(47076005)(4326008)(6916009)(8676002)(2616005)(70586007)(70206006)(82310400005)(8936002)(81166007)(82740400003)(316002)(16526019)(426003)(2906002)(83380400001)(336012)(186003)(40460700003)(40480700001)(6666004)(356005)(1076003)(26005)(478600001)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:10:34.0778 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb2008a5-bb39-4e9b-e457-08db2b3305a9 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: BL02EPF000100D2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5627 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for AMD Pensando Elba SoC which explicitly controls byte-lane enables on writes. Select MMC_SDHCI_IO_ACCESSORS for MMC_SDHCI_CADENCE which allows Elba SoC sdhci_elba_ops to overwrite the SDHCI IO memory accessors Signed-off-by: Brad Larson Acked-by: Adrian Hunter Reported-by: kernel test robot --- v11 changes: - Remove elba-drv_init() call to platform_get_resource() since that check is done inside devm_platform_ioremap_resource() - Move spin_lock_init() before error check - Remove extra parentheses v10 changes: - Add Elba specific support into this 3rd patch. This builds on the private writel() enabled in patch 1 followed by platform specific init() in patch= 2. - Specify when first used the reason for the spinlock use to order byte-ena= ble prior to write data. --- drivers/mmc/host/Kconfig | 1 + drivers/mmc/host/sdhci-cadence.c | 96 ++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 4745fe217ade..9f793892123c 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -255,6 +255,7 @@ config MMC_SDHCI_CADENCE tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller" depends on MMC_SDHCI_PLTFM depends on OF + select MMC_SDHCI_IO_ACCESSORS help This selects the Cadence SD/SDIO/eMMC driver. =20 diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cade= nce.c index c528a25f48b8..c0024d1e69a8 100644 --- a/drivers/mmc/host/sdhci-cadence.c +++ b/drivers/mmc/host/sdhci-cadence.c @@ -66,6 +66,8 @@ struct sdhci_cdns_phy_param { =20 struct sdhci_cdns_priv { void __iomem *hrs_addr; + void __iomem *ctl_addr; /* write control */ + spinlock_t wrlock; /* write lock */ bool enhanced_strobe; void (*priv_writel)(struct sdhci_cdns_priv *priv, u32 val, void __iomem *= reg); unsigned int nr_phy_params; @@ -321,6 +323,89 @@ static void sdhci_cdns_set_uhs_signaling(struct sdhci_= host *host, sdhci_set_uhs_signaling(host, timing); } =20 +/* Elba control register bits [6:3] are byte-lane enables */ +#define ELBA_BYTE_ENABLE_MASK(x) ((x) << 3) + +/* + * The Pensando Elba SoC explicitly controls byte-lane enabling on writes + * which includes writes to the HRS registers. The write lock (wrlock) + * is used to ensure byte-lane enable, using write control (ctl_addr), + * occurs before the data write. + */ +static void elba_priv_writel(struct sdhci_cdns_priv *priv, u32 val, + void __iomem *reg) +{ + unsigned long flags; + + spin_lock_irqsave(&priv->wrlock, flags); + writel(ELBA_BYTE_ENABLE_MASK(0xf), priv->ctl_addr); + writel(val, reg); + spin_unlock_irqrestore(&priv->wrlock, flags); +} + +static void elba_write_l(struct sdhci_host *host, u32 val, int reg) +{ + elba_priv_writel(sdhci_cdns_priv(host), val, host->ioaddr + reg); +} + +static void elba_write_w(struct sdhci_host *host, u16 val, int reg) +{ + struct sdhci_cdns_priv *priv =3D sdhci_cdns_priv(host); + u32 byte_enables; + unsigned long flags; + + byte_enables =3D GENMASK(1, 0) << (reg & 0x3); + spin_lock_irqsave(&priv->wrlock, flags); + writel(ELBA_BYTE_ENABLE_MASK(byte_enables), priv->ctl_addr); + writew(val, host->ioaddr + reg); + spin_unlock_irqrestore(&priv->wrlock, flags); +} + +static void elba_write_b(struct sdhci_host *host, u8 val, int reg) +{ + struct sdhci_cdns_priv *priv =3D sdhci_cdns_priv(host); + u32 byte_enables; + unsigned long flags; + + byte_enables =3D BIT(0) << (reg & 0x3); + spin_lock_irqsave(&priv->wrlock, flags); + writel(ELBA_BYTE_ENABLE_MASK(byte_enables), priv->ctl_addr); + writeb(val, host->ioaddr + reg); + spin_unlock_irqrestore(&priv->wrlock, flags); +} + +static const struct sdhci_ops sdhci_elba_ops =3D { + .write_l =3D elba_write_l, + .write_w =3D elba_write_w, + .write_b =3D elba_write_b, + .set_clock =3D sdhci_set_clock, + .get_timeout_clock =3D sdhci_cdns_get_timeout_clock, + .set_bus_width =3D sdhci_set_bus_width, + .reset =3D sdhci_reset, + .set_uhs_signaling =3D sdhci_cdns_set_uhs_signaling, +}; + +static int elba_drv_init(struct platform_device *pdev) +{ + struct sdhci_host *host =3D platform_get_drvdata(pdev); + struct sdhci_cdns_priv *priv =3D sdhci_cdns_priv(host); + void __iomem *ioaddr; + + host->mmc->caps |=3D MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA; + spin_lock_init(&priv->wrlock); + + /* Byte-lane control register */ + ioaddr =3D devm_platform_ioremap_resource(pdev, 1); + if (IS_ERR(ioaddr)) + return PTR_ERR(ioaddr); + + priv->ctl_addr =3D ioaddr; + priv->priv_writel =3D elba_priv_writel; + writel(ELBA_BYTE_ENABLE_MASK(0xf), priv->ctl_addr); + + return 0; +} + static const struct sdhci_ops sdhci_cdns_ops =3D { .set_clock =3D sdhci_set_clock, .get_timeout_clock =3D sdhci_cdns_get_timeout_clock, @@ -337,6 +422,13 @@ static const struct sdhci_cdns_drv_data sdhci_cdns_uni= phier_drv_data =3D { }, }; =20 +static const struct sdhci_cdns_drv_data sdhci_elba_drv_data =3D { + .init =3D elba_drv_init, + .pltfm_data =3D { + .ops =3D &sdhci_elba_ops, + }, +}; + static const struct sdhci_cdns_drv_data sdhci_cdns_drv_data =3D { .pltfm_data =3D { .ops =3D &sdhci_cdns_ops, @@ -477,6 +569,10 @@ static const struct of_device_id sdhci_cdns_match[] = =3D { .compatible =3D "socionext,uniphier-sd4hc", .data =3D &sdhci_cdns_uniphier_drv_data, }, + { + .compatible =3D "amd,pensando-elba-sd4hc", + .data =3D &sdhci_elba_drv_data, + }, { .compatible =3D "cdns,sd4hc" }, { /* sentinel */ } }; --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 61A55C7619A for ; Thu, 23 Mar 2023 00:12:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230487AbjCWAMQ (ORCPT ); Wed, 22 Mar 2023 20:12:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230352AbjCWALv (ORCPT ); Wed, 22 Mar 2023 20:11:51 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2081.outbound.protection.outlook.com [40.107.244.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C76F305D6; Wed, 22 Mar 2023 17:11:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d8fiZcJOtfj7rRGLQPsdbeKf/7lgNZ1A+x69UGUGctYpU+Xbka428zDy0QJEshjeljG7qw2Cnx9QvR87Kx3NxUJzEXmCUbTqg6YxAle4JvXL28YoaiZuruleMvGI6wh7+IChQRbG/PWLN6wXpDZ6x+GVaj8aHfOwKTmfqiO/6hytNHhDGnYUOJ5rQi/EzVPWwTOYjs54WlhIz4HBXdsyBxs3HYI53Rw7Lga+C4AOpTAs+OHQ1iYq1CgTxpzl/ZHSrjRd/Amz1yu5hSRCb+vXUM/Ny//5JqDriOiR+URno49r5Zj29hcpCGrBcvVKNpzH65wO0Km3iSG31IRht8cxdw== 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=ZVI1OZZMPiHNVrQddAKYxgPCAkOIkTxwqmQwe+IEi90=; b=gpQZO3oSpPfgV79GJZhVBtMMYx0jUIzhMWC6BPEezD6FwVqZnAVO/zC2QB44sXfoE2uJbfdNhlxihAjZkGSvCMp+8qdC3RUXqgKgzEqmq0h+k0cBbUk0mKwQMnEi3NZ4g9ZK7/uqtTX6yyW0DXXRE11Xt0n/Os3OTrTPcZ4FOn9IVFEfK8y0Orw0W9qjVHpQ2V8Ah7p48IdVGfSwLcTOh6xWjjKA+Tnr4mteBIcGdNCmWnPfu7i6pjHdtwSUTGzK33kLPPOupI0H7/j0kvW8CQIT5aGwQSVz+ibbfdRyRf9S86/z7LvBZv3WBKC5/sFAgnFY6C3KpHFMIGFA/BdTIw== 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=ZVI1OZZMPiHNVrQddAKYxgPCAkOIkTxwqmQwe+IEi90=; b=tIqQIEYfROfTp6FmmYMPXPM2WCmfMhw9/o/ReIGDFuOJO4mM74ozQ/YyWAtjJDN6nRCR95r56waBYFD3Eg8UL42CgogpsayDC84XpdOma4EAvoRCn0KMbl9bJ/FLbTzJG88wyob8AP7dgI61WZlVQ2bYxlnVZr1KjEzBI5kCGPQ= Received: from MN2PR11CA0006.namprd11.prod.outlook.com (2603:10b6:208:23b::11) by DM6PR12MB4909.namprd12.prod.outlook.com (2603:10b6:5:1ba::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:10:56 +0000 Received: from BL02EPF000100D0.namprd05.prod.outlook.com (2603:10b6:208:23b:cafe::6) by MN2PR11CA0006.outlook.office365.com (2603:10b6:208:23b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend Transport; Thu, 23 Mar 2023 00:10:56 +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 BL02EPF000100D0.mail.protection.outlook.com (10.167.241.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:10:56 +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.2375.34; Wed, 22 Mar 2023 19:10:53 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 14/15] mmc: sdhci-cadence: Support mmc hardware reset Date: Wed, 22 Mar 2023 17:06:56 -0700 Message-ID: <20230323000657.28664-15-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D0:EE_|DM6PR12MB4909:EE_ X-MS-Office365-Filtering-Correlation-Id: 6df70512-ce8b-434b-d9a9-08db2b3312be X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2RxSXhIl0qyY73ihWxKrZ32IRkCzY3BF+exF5vSGP7FnrmtSx2juE+lZoc44tmY/UxoI9EtMBcshuwr9HD3573OyMrWxZBf45fS8vV8tZ6QflGzUf70xkpxOxykLqfDRDqO01Nw5EnxTxU/ZkGyRZ6ldaCgzLLZWu6YKx4vNk0XbPc9pgi1vPLM4U9lU7lhsiIsdQQCYgAMRPVdyFnLtUufVDM5ivYu77gFM/iGZeW5+aP3cDz3IpshHhNE0mIa5zXzDbjQz/N8mrYiQys4X2c308SHpaS+bKkuJ4L5cEmlrJc8Jnm8VfWdU1k7ZMoZ7VAsfvfxMo4GWilOFIamnp5FzXuKYVFC0Hmd+9V98lOo4qohWYM8GSSORhaQCTr6B9R+iODyUPq8x0eVgEj4iX+yhzh77kB/dFq2Ihcq/BKLKMxia+1Yb4TmGA9PegBVOrSIIpj4UxmohsB7kqyGetHBMfFuDJeTnazw4wziZz3ylmqc8SdgRUD5YA6lCBEYhelpF3JTnGSSbT2gg77zp81BZxXbeGdtNgUeDNG0BgyjuAG4gnD9QKibNqSFZeuSbaX7UCOAr+eAQNX257nP44/FzldFK5M9D1UlxfxFrO+Nqek6auaeQOZVIxKDQheSoEKpqxD668X7I9dOhpTEAV9TcjnIlilK1gU7A6QdRYHAiefnMvyWHIG+zRDGnYrV6ZZV8A5JSZCT64hvUdyQCOua5ZJTl8Sbq4M7AQuNUu0k= 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:(13230025)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199018)(36840700001)(40470700004)(46966006)(7406005)(54906003)(47076005)(336012)(83380400001)(2616005)(82310400005)(426003)(316002)(8936002)(478600001)(1076003)(186003)(82740400003)(26005)(356005)(40480700001)(40460700003)(4326008)(6916009)(2906002)(81166007)(16526019)(70586007)(70206006)(7416002)(36860700001)(36756003)(5660300002)(8676002)(41300700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:10:56.0412 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6df70512-ce8b-434b-d9a9-08db2b3312be 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: BL02EPF000100D0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4909 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for mmc hardware reset using a reset-controller that would need to be enabled in the device tree with a supporting driver. The default is disabled for all existing designs. Signed-off-by: Brad Larson Acked-by: Adrian Hunter Reported-by: kernel test robot Reviewed-by: Philipp Zabel --- v9 changes: - Previously patch 17/17 - Changed delay after reset_control_assert() from 9 to 3 usec - Renamed sdhci_mmc_hw_reset() to sdhci_cdns_mmc_hw_reset() --- drivers/mmc/host/sdhci-cadence.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cade= nce.c index c0024d1e69a8..0d8db1a54729 100644 --- a/drivers/mmc/host/sdhci-cadence.c +++ b/drivers/mmc/host/sdhci-cadence.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #include "sdhci-pltfm.h" =20 @@ -70,6 +71,7 @@ struct sdhci_cdns_priv { spinlock_t wrlock; /* write lock */ bool enhanced_strobe; void (*priv_writel)(struct sdhci_cdns_priv *priv, u32 val, void __iomem *= reg); + struct reset_control *rst_hw; unsigned int nr_phy_params; struct sdhci_cdns_phy_param phy_params[]; }; @@ -455,6 +457,22 @@ static void sdhci_cdns_hs400_enhanced_strobe(struct mm= c_host *mmc, SDHCI_CDNS_HRS06_MODE_MMC_HS400); } =20 +static void sdhci_cdns_mmc_hw_reset(struct mmc_host *mmc) +{ + struct sdhci_host *host =3D mmc_priv(mmc); + struct sdhci_cdns_priv *priv =3D sdhci_cdns_priv(host); + + dev_dbg(mmc_dev(host->mmc), "emmc hardware reset\n"); + + reset_control_assert(priv->rst_hw); + /* For eMMC, minimum is 1us but give it 3us for good measure */ + udelay(3); + + reset_control_deassert(priv->rst_hw); + /* For eMMC, minimum is 200us but give it 300us for good measure */ + usleep_range(300, 1000); +} + static int sdhci_cdns_probe(struct platform_device *pdev) { struct sdhci_host *host; @@ -518,6 +536,15 @@ static int sdhci_cdns_probe(struct platform_device *pd= ev) if (ret) goto free; =20 + if (host->mmc->caps & MMC_CAP_HW_RESET) { + priv->rst_hw =3D devm_reset_control_get_optional_exclusive(dev, NULL); + if (IS_ERR(priv->rst_hw)) + return dev_err_probe(mmc_dev(host->mmc), PTR_ERR(priv->rst_hw), + "reset controller error\n"); + if (priv->rst_hw) + host->mmc_host_ops.card_hw_reset =3D sdhci_cdns_mmc_hw_reset; + } + ret =3D sdhci_add_host(host); if (ret) goto free; --=20 2.17.1 From nobody Sat Feb 7 17:55:13 2026 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 A3229C77B60 for ; Thu, 23 Mar 2023 00:12:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230497AbjCWAMo (ORCPT ); Wed, 22 Mar 2023 20:12:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230434AbjCWAMe (ORCPT ); Wed, 22 Mar 2023 20:12:34 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on20629.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5b::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1AB7235275; Wed, 22 Mar 2023 17:12:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QRvgQHAwGb2/g+PWb2h/9CK3eQhwyO5NUC7pI29UpwTJqYJbVBBnalA+BTZN5lgylNEZnwrr7Wm1nEsIgz4KIr4J1TTErHYsSAcPNsUCas1RhS3/zN+SiL7BegCz4AUpOtrFFkf97zsBqBGzRKmh7Tvpl5bF/E/78XFVVjAnrILs80/hA913B0myY+i8GfinLP3//rMCCqVFqlpA3PvaqdJeL1Xg5A9kklyXLPlXWAS1IP6aBE0Dzm9IGNnmgRhw6wLyeruS95+r4xjkgo9JadNfJjJPVVy+BFnZAtER5EBscimm8pZt8jCIUKf2/lIhc2F2GyibLZytA5XLVlJ2KQ== 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=fMJ5ouM3RXZe6xXRXCMZmk2bZJxFPzmBPojtz6wi8nI=; b=PiyfTb107bhT+4BSKWbXYqqs8XJjqbS6cubUQ6e4JB52cGv3jMQAVFX2RoC47n6M+rog+K6yt2NXM8r3rW/i73T1N+0sZCQJ3iSkvbQJ68O0MGAKb4NkzQ/GoYm7kFQbp46seg3bMk6P/2G7Fsd1av/2X7FablzD3TLAAav0apiKQA8x3+aYsGrYDPTgzDozxsucE3wSJhf/KSPrA4LE649IOjeDDS++b3eOEDF90y1ZpQtbJHzXLKSf1/f0sjhFUfLdUnd5B5a7wTUnT/Zld7XRosl0K0OL6knfldJYpMQw5rjOsNHLfl+ad40Tz8oWO3FvigJZOm9H0rzdlrPKEw== 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=fMJ5ouM3RXZe6xXRXCMZmk2bZJxFPzmBPojtz6wi8nI=; b=bcHz4Pdt9lFvA0o4mitFxjiOi0Js+4aPYyhq/TlWFDBN6AXBPGhOwM8e6TUaQXe996LbmyVxwYQ5nfZ1HK+zPcA1ft4baJO06Kj1eS+aUZAQG51x+4XjALCq4f+7caq6DxiN2tcwEAVZylhM4dBegABj/SOjVQ/6PYNkPKXhlWg= Received: from BL0PR02CA0097.namprd02.prod.outlook.com (2603:10b6:208:51::38) by PH7PR12MB8105.namprd12.prod.outlook.com (2603:10b6:510:2b7::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 00:11:36 +0000 Received: from BL02EPF000100D3.namprd05.prod.outlook.com (2603:10b6:208:51:cafe::5c) by BL0PR02CA0097.outlook.office365.com (2603:10b6:208:51::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Thu, 23 Mar 2023 00:11:35 +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 BL02EPF000100D3.mail.protection.outlook.com (10.167.241.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 00:11:35 +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.2375.34; Wed, 22 Mar 2023 19:11:29 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v12 15/15] soc: amd: Add support for AMD Pensando SoC Controller Date: Wed, 22 Mar 2023 17:06:57 -0700 Message-ID: <20230323000657.28664-16-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230323000657.28664-1-blarson@amd.com> References: <20230323000657.28664-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: BL02EPF000100D3:EE_|PH7PR12MB8105:EE_ X-MS-Office365-Filtering-Correlation-Id: 9e8874c2-f841-4d36-f33d-08db2b332a66 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uEdqdlZ4znygZ72VEj2Cvne02W9S/OQmjw3Ryq7WAZb3XPHh8mYxuO3its2PVTpNlkQsEMx7e0lmSYMzvGUiNCOYLBx7kXvNi+6MxSj5R72wrRhjxkbRzxkK0h4C1PGAxhpvic4s8mfoAuOn1Sxo2bwkN6QsFFOJ7EcRmQiXxpK1Hf1rLSefg5VquCT03IiT7YDovBnQ3hM6wC/ivQD9erdhrmng5pD2MQlmabFWRQlnr8VlJum0wp5rw5YDBOaSbg2TZNnQA+DVTloSQzNIRxTnZeD1xLEZssVKkuiKTHt2sY5BoalBkJoTvtjvOSbAOH55922HFFP/E32UKn2q6gIcGiI69fOW7Pfiyxc/OU7xFIqMJ05CYKicev0Mip3JnR3o9jn4+NCyztZEFgQzjGzD26ohimntL0oeWB+P6b57WenwXPgSh5sp3PECi2iBuQ8ovOmcqMmZ4hGrEv0W08QZMj0wLDJGJIAzI9+54IPLVtl7aDCvSQzE690nxOmWfsI8uD+IswGMZFaYJhVFlJYeQxFTose2QgH8SxXAujXM1jVvMSNKgTB/V7CxSl+2Ml0TZRj8N3+fZOuSjzXTQn2vFIoPnqeukC1y+wtWDYnU6lxfpNrXD3p9d1+nTUaznmx7tvtOmEuRmTDg3JWtBoG5AGPmCMGa5nbo2z5xYi4T4P4XqkhjNvAsOrgQ36zWU13+aV+iCjk/dpGihfDpR10Hj1mzThE2ZhmUzhwuUic= 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:(13230025)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199018)(46966006)(40470700004)(36840700001)(5660300002)(7416002)(7406005)(30864003)(36860700001)(41300700001)(82310400005)(40480700001)(36756003)(356005)(8936002)(82740400003)(81166007)(40460700003)(2906002)(6666004)(83380400001)(336012)(478600001)(426003)(47076005)(2616005)(186003)(16526019)(966005)(26005)(54906003)(1076003)(8676002)(4326008)(316002)(70586007)(70206006)(6916009)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 00:11:35.7304 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9e8874c2-f841-4d36-f33d-08db2b332a66 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: BL02EPF000100D3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8105 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Reported-by: kernel test robot --- v12 changes: - Fix gcc-12.1.0 warning: Reported-by: kernel test robot Link: https://lore.kernel.org/oe-kbuild-all/202303120925.SxLjwOd2-lkp@intel= .com/ v11 changes: - Fix the compatible to be specific 'amd,pensando-elba-ctrl' v10 changes: - Different driver implementation specific to this Pensando controller devi= ce. - 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 | 380 +++++++++++++++++++++++++ include/uapi/linux/amd-pensando-ctrl.h | 30 ++ 6 files changed, 430 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..9e023f74e47c 100644 --- a/drivers/soc/Kconfig +++ b/drivers/soc/Kconfig @@ -2,6 +2,7 @@ menu "SOC (System On Chip) specific Drivers" =20 source "drivers/soc/actions/Kconfig" +source "drivers/soc/amd/Kconfig" source "drivers/soc/amlogic/Kconfig" source "drivers/soc/apple/Kconfig" source "drivers/soc/aspeed/Kconfig" diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile index 3b0f9fb3b5c8..8914530f2721 100644 --- a/drivers/soc/Makefile +++ b/drivers/soc/Makefile @@ -4,6 +4,7 @@ # =20 obj-$(CONFIG_ARCH_ACTIONS) +=3D actions/ +obj-y +=3D amd/ obj-y +=3D apple/ obj-y +=3D aspeed/ obj-$(CONFIG_ARCH_AT91) +=3D atmel/ diff --git a/drivers/soc/amd/Kconfig b/drivers/soc/amd/Kconfig new file mode 100644 index 000000000000..9fc03de49f11 --- /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=3Dy + depends on (ARCH_PENSANDO && OF) || COMPILE_TEST + default y if 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) +=3D pensando-ctrl.o diff --git a/drivers/soc/amd/pensando-ctrl.c b/drivers/soc/amd/pensando-ctr= l.c new file mode 100644 index 000000000000..91ed0ee424c9 --- /dev/null +++ b/drivers/soc/amd/pensando-ctrl.c @@ -0,0 +1,380 @@ +// 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 regsiters 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 spi_device *spi_dev; + struct reset_controller_dev rcdev; +}; + +static DEFINE_MUTEX(spi_lock); +static dev_t penctrl_devt; +static struct penctrl_device *penctrl; +static struct class *penctrl_class; + +static long +penctrl_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +{ + struct spi_transfer t[2] =3D { 0 }; + struct penctrl_device *penctrl; + struct penctrl_spi_xfer *msg; + struct spi_device *spi_dev; + unsigned int num_msgs; + struct spi_message m; + u8 tx_buf[PENCTRL_MAX_MSG_LEN]; + u8 rx_buf[PENCTRL_MAX_MSG_LEN]; + u32 size; + int ret; + + /* Check for a valid command */ + if (_IOC_TYPE(cmd) !=3D PENCTRL_IOC_MAGIC) + return -ENOTTY; + + if (_IOC_NR(cmd) > PENCTRL_IOC_MAXNR) + return -ENOTTY; + + if (_IOC_DIR(cmd) & _IOC_READ) + ret =3D !access_ok((void __user *)arg, _IOC_SIZE(cmd)); + else if (_IOC_DIR(cmd) & _IOC_WRITE) + ret =3D !access_ok((void __user *)arg, _IOC_SIZE(cmd)); + + if (ret) + return -EFAULT; + + /* Get a reference to the SPI device */ + penctrl =3D filp->private_data; + if (!penctrl) + return -ESHUTDOWN; + + spi_dev =3D spi_dev_get(penctrl->spi_dev); + if (!spi_dev) + return -ESHUTDOWN; + + /* Verify and prepare spi message */ + size =3D _IOC_SIZE(cmd); + if ((size % sizeof(struct penctrl_spi_xfer)) !=3D 0) { + ret =3D -EINVAL; + goto done; + } + num_msgs =3D size / sizeof(struct penctrl_spi_xfer); + if (num_msgs =3D=3D 0) { + ret =3D -EINVAL; + goto done; + } + msg =3D memdup_user((struct penctrl_spi_xfer __user *)arg, size); + if (!msg) { + ret =3D PTR_ERR(msg); + goto done; + } + if (msg->len > PENCTRL_MAX_MSG_LEN) { + ret =3D -EINVAL; + goto done; + } + + t[0].tx_buf =3D tx_buf; + t[0].len =3D msg->len; + if (copy_from_user((void *)(uintptr_t)tx_buf, + (void __user *)msg->tx_buf, msg->len)) { + ret =3D -EFAULT; + goto done; + } + if (num_msgs > 1) { + msg++; + if (msg->len > PENCTRL_MAX_MSG_LEN) { + ret =3D -EINVAL; + goto done; + } + t[1].rx_buf =3D rx_buf; + t[1].len =3D msg->len; + } + spi_message_init_with_transfers(&m, t, num_msgs); + + /* Perform the transfer */ + mutex_lock(&spi_lock); + ret =3D spi_sync(spi_dev, &m); + mutex_unlock(&spi_lock); + + if (ret || (num_msgs =3D=3D 1)) + goto done; + + if (copy_to_user((void __user *)msg->rx_buf, + (void *)(uintptr_t)rx_buf, msg->len)) + ret =3D -EFAULT; + +done: + spi_dev_put(spi_dev); + return ret; +} + +static int penctrl_open(struct inode *inode, struct file *filp) +{ + struct spi_device *spi_dev; + u8 current_cs; + + if (!penctrl) + return -ENODEV; + + filp->private_data =3D penctrl; + current_cs =3D iminor(inode); + spi_dev =3D penctrl->spi_dev; + spi_dev->chip_select =3D current_cs; + spi_dev->cs_gpiod =3D spi_dev->controller->cs_gpiods[current_cs]; + spi_setup(spi_dev); + stream_open(inode, filp); + + return 0; +} + +static int penctrl_release(struct inode *inode, struct file *filp) +{ + filp->private_data =3D NULL; + return 0; +} + +static const struct file_operations penctrl_fops =3D { + .owner =3D THIS_MODULE, + .unlocked_ioctl =3D penctrl_ioctl, + .open =3D penctrl_open, + .release =3D penctrl_release, + .llseek =3D no_llseek, +}; + +static int penctrl_regs_read(struct penctrl_device *penctrl, u32 reg, u32 = *val) +{ + struct spi_device *spi_dev =3D penctrl->spi_dev; + struct spi_transfer t[2] =3D { 0 }; + struct spi_message m; + u8 txbuf[3]; + u8 rxbuf[1]; + int ret; + + txbuf[0] =3D PENCTRL_SPI_CMD_REGRD; + txbuf[1] =3D reg; + txbuf[2] =3D 0x0; + t[0].tx_buf =3D txbuf; + t[0].len =3D 3; + + rxbuf[0] =3D 0x0; + t[1].rx_buf =3D rxbuf; + t[1].len =3D 1; + + spi_message_init_with_transfers(&m, t, ARRAY_SIZE(t)); + ret =3D spi_sync(spi_dev, &m); + if (ret =3D=3D 0) + *val =3D rxbuf[0]; + + return ret; +} + +static int penctrl_regs_write(struct penctrl_device *penctrl, u32 reg, u32= val) +{ + struct spi_device *spi_dev =3D penctrl->spi_dev; + struct spi_transfer t[1] =3D { 0 }; + struct spi_message m; + u8 txbuf[4]; + int ret; + + txbuf[0] =3D PENCTRL_SPI_CMD_REGWR; + txbuf[1] =3D reg; + txbuf[2] =3D val; + txbuf[3] =3D 0; + + t[0].tx_buf =3D txbuf; + t[0].len =3D 4; + spi_message_init_with_transfers(&m, t, ARRAY_SIZE(t)); + ret =3D spi_sync(spi_dev, &m); + return ret; +} + +static int penctrl_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct penctrl_device *penctrl =3D + container_of(rcdev, struct penctrl_device, rcdev); + struct spi_device *spi_dev =3D penctrl->spi_dev; + unsigned int val; + int ret; + + mutex_lock(&spi_lock); + spi_dev->chip_select =3D 0; + spi_dev->cs_gpiod =3D spi_dev->controller->cs_gpiods[0]; + spi_setup(spi_dev); + ret =3D penctrl_regs_read(penctrl, PENCTRL_REG_CTRL0, &val); + if (ret) { + dev_err(&spi_dev->dev, "error reading ctrl0 reg\n"); + goto done; + } + + val |=3D BIT(6); + ret =3D penctrl_regs_write(penctrl, PENCTRL_REG_CTRL0, val); + if (ret) + dev_err(&spi_dev->dev, "error writing ctrl0 reg\n"); + +done: + mutex_unlock(&spi_lock); + return ret; +} + +static int penctrl_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct penctrl_device *penctrl =3D + container_of(rcdev, struct penctrl_device, rcdev); + struct spi_device *spi_dev =3D penctrl->spi_dev; + unsigned int val; + int ret; + + mutex_lock(&spi_lock); + spi_dev->chip_select =3D 0; + spi_dev->cs_gpiod =3D spi_dev->controller->cs_gpiods[0]; + spi_setup(spi_dev); + ret =3D penctrl_regs_read(penctrl, PENCTRL_REG_CTRL0, &val); + if (ret) { + dev_err(&spi_dev->dev, "error reading ctrl0 reg\n"); + goto done; + } + + val &=3D ~BIT(6); + ret =3D penctrl_regs_write(penctrl, PENCTRL_REG_CTRL0, val); + if (ret) + dev_err(&spi_dev->dev, "error writing ctrl0 reg\n"); + +done: + mutex_unlock(&spi_lock); + return ret; +} + +static const struct reset_control_ops penctrl_reset_ops =3D { + .assert =3D penctrl_reset_assert, + .deassert =3D penctrl_reset_deassert, +}; + +static int penctrl_spi_probe(struct spi_device *spi_dev) +{ + struct device_node *np; + struct device *dev; + struct cdev *cdev; + u32 num_cs; + int ret; + u32 cs; + + np =3D spi_dev->dev.parent->of_node; + ret =3D of_property_read_u32(np, "num-cs", &num_cs); + if (ret) + return dev_err_probe(&spi_dev->dev, ret, + "number of chip-selects not defined"); + + ret =3D alloc_chrdev_region(&penctrl_devt, 0, num_cs, "penctrl"); + if (ret) + return dev_err_probe(&spi_dev->dev, ret, + "failed to alloc chrdev region\n"); + + penctrl_class =3D class_create(THIS_MODULE, "penctrl"); + if (IS_ERR(penctrl_class)) { + unregister_chrdev(MAJOR(penctrl_devt), "penctrl"); + return dev_err_probe(&spi_dev->dev, PTR_ERR(penctrl_class), + "failed to create class\n"); + } + + cdev =3D cdev_alloc(); + if (!cdev) { + dev_err(&spi_dev->dev, "allocation of cdev failed"); + ret =3D -ENOMEM; + goto cdev_failed; + } + cdev->owner =3D THIS_MODULE; + cdev_init(cdev, &penctrl_fops); + + ret =3D cdev_add(cdev, penctrl_devt, num_cs); + if (ret) { + dev_err(&spi_dev->dev, "register of cdev failed"); + goto cdev_delete; + } + + /* Allocate driver data */ + penctrl =3D kzalloc(sizeof(*penctrl), GFP_KERNEL); + if (!penctrl) { + ret =3D -ENOMEM; + dev_err(&spi_dev->dev, "allocate driver data failed"); + goto cdev_delete; + } + + penctrl->spi_dev =3D spi_dev; + mutex_init(&spi_lock); + + /* Create a device for each chip select */ + for (cs =3D 0; cs < num_cs; cs++) { + dev =3D device_create(penctrl_class, + &spi_dev->dev, + MKDEV(MAJOR(penctrl_devt), cs), + penctrl, + "penctrl0.%d", + cs); + if (IS_ERR(dev)) { + ret =3D IS_ERR(dev); + dev_err(&spi_dev->dev, "error creating device\n"); + goto cdev_delete; + } + dev_dbg(&spi_dev->dev, "created device major %u, minor %d\n", + MAJOR(penctrl_devt), cs); + } + + spi_set_drvdata(spi_dev, penctrl); + + /* Register emmc hardware reset */ + penctrl->rcdev.nr_resets =3D 1; + penctrl->rcdev.owner =3D THIS_MODULE; + penctrl->rcdev.dev =3D &spi_dev->dev; + penctrl->rcdev.ops =3D &penctrl_reset_ops; + penctrl->rcdev.of_node =3D spi_dev->dev.of_node; + ret =3D reset_controller_register(&penctrl->rcdev); + if (ret) + return dev_err_probe(&spi_dev->dev, ret, + "failed to register reset controller\n"); + return ret; + +cdev_delete: + cdev_del(cdev); +cdev_failed: + device_destroy(penctrl_class, penctrl_devt); + return ret; +} + +static const struct of_device_id penctrl_dt_match[] =3D { + { .compatible =3D "amd,pensando-elba-ctrl" }, + { /* sentinel */ } +}; + +static struct spi_driver penctrl_spi_driver =3D { + .probe =3D penctrl_spi_probe, + .driver =3D { + .name =3D "pensando-ctrl", + .of_match_table =3D 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/am= d-pensando-ctrl.h new file mode 100644 index 000000000000..0a6caf3b764c --- /dev/null +++ b/include/uapi/linux/amd-pensando-ctrl.h @@ -0,0 +1,30 @@ +/* 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 +#include + +#define PENCTRL_SPI_CMD_REGRD 0x0b +#define PENCTRL_SPI_CMD_REGWR 0x02 +#define PENCTRL_IOC_MAGIC 'k' +#define PENCTRL_IOC_MAXNR 0 +#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 */ --=20 2.17.1