From nobody Wed Feb 11 18:10:14 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 7314BC77B74 for ; Mon, 10 Apr 2023 18:46:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229897AbjDJSqJ (ORCPT ); Mon, 10 Apr 2023 14:46:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229894AbjDJSqF (ORCPT ); Mon, 10 Apr 2023 14:46:05 -0400 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2075.outbound.protection.outlook.com [40.107.220.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B57611BFF; Mon, 10 Apr 2023 11:45:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ELwS8HHMnyEG7DC9iZI7e/beIDb7dC6pCJEJbY+3JrRGoYaJyHKzWMKYD2WcQXsmQJN9m81PJ/UUbTyAQ0peg3ZVGtd4+/iCZbAXp5B3PdVdizTKhp4TmTXp6uFLuIjfcolEPLydOw/UPZa2LzoNdh/ct20H24iXeBD0lfY5kSEVib4/UwtBEyVLTwPXmZ9Wk9R9VnBi9ql7cQl2y3TITQUjkADuccGig07oY8JjqfbT5k4zgtytlbGrrqQVqExvVTBDQRyoq4oxbN8zZ8spu6YpxMd7RoTlCt6AMWC/EDy6XF8KXbbRYZMz1zez8b8uWEFIrHfRJrIsH6RuStRciw== 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=iwbH4S4itCGMaN4vkxH8aPr6MxzCdm5RYFOm8Q+uu0CwOSAscuPD0AjAJkcdkbCiSu1Ruh5f2pEgzZ7hlHBPqOOoHVwVf4+GCTjBMBBJlyGnCL7eDCPsFYwO3FwVOJfCITVPVtBhI6Ow4mv8z2xqyE4i4lJD9mhyan7YJ7wTo2pRQiGnLRciwe1KJmVUPKZaZLJTX5ohs8UbIlrZ++PRUd0C1CTSJ00Rv5ckPGTAsXgw7HoZiLL8JFh/lez+zUYHy2g+cJ33siggFzclAYYqKy/ZTccBuB4ujUXLaYMFovxASsRaaATbeuMTVEh280eIIeVujcsZgotdbwL4ZMDT4w== 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=T+/ZnYwBnJlRDlfM7ZYbD+6oEgIneeVPNRPaPbWI7r5C0cCIjAmNkq2V2bI3MXCe9QlO7tedQ/+Jva5IFSBDniQWlVOnlks+Pb9JmUIpgoIG7nrWVGdbaErkcClSegqJGrFHZshtfTWopYlI/EuP++EtDhSAyIrR7VYcUv2Nf+U= Received: from DM6PR02CA0053.namprd02.prod.outlook.com (2603:10b6:5:177::30) by DM4PR12MB6470.namprd12.prod.outlook.com (2603:10b6:8:b8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Mon, 10 Apr 2023 18:45:57 +0000 Received: from DM6NAM11FT051.eop-nam11.prod.protection.outlook.com (2603:10b6:5:177:cafe::f9) by DM6PR02CA0053.outlook.office365.com (2603:10b6:5:177::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.39 via Frontend Transport; Mon, 10 Apr 2023 18:45:57 +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 DM6NAM11FT051.mail.protection.outlook.com (10.13.172.243) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.27 via Frontend Transport; Mon, 10 Apr 2023 18:45:57 +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; Mon, 10 Apr 2023 13:45:53 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 01/15] dt-bindings: arm: add AMD Pensando boards Date: Mon, 10 Apr 2023 11:45:12 -0700 Message-ID: <20230410184526.15990-2-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT051:EE_|DM4PR12MB6470:EE_ X-MS-Office365-Filtering-Correlation-Id: 9918a30f-d7d7-4fd4-8af7-08db39f3d264 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qb7OWIo2fCSUZ+qceUa/P/dp+7xHvWRrGB9k++xPq6YUAYwysgPUunJVbpQlL4ItqU82sah6AH0qrGdyBDFl6PhHrJxZXVdkLdwCUpISYdOdBLWbuTATQSwm3dmy78zKheTYx8hTmloNkdEFUUGst0RjNvNxdEMwMNoLU/ZeHrVp0JFljdHVL9lrlVi8PtSeNNuDs7JbLsYuPzkC7ufHYhIDz0jidCmebMzY6yR0aosOx8IbTV5XAZ2M6CyoRlN84L8grmUz/cpeNbncfEUjMW/lSQhwkjaWDJs8dc5aH/pDmu16vCzOSgc2f00faZh+93ikN5UbbNu1rwRl4U1fgGEIucu4GAhHX9i+Pe1UF29HlTp4M/SIv+cFAIX4dfIA8SJRwGjIacE4MHJXLS+VWAp76Y07dxV4YHjhhhm2vU1WCNivh8BOcecB6sS4b8KDwC7Fdi/FwG6t+q5SvgJi/60sIxjky8dBCZayeJrptEINT1hC/0Emvvq0Uez244nBo+OeoSaWR5LVrzPFRbBAJknyIzPEic8XGzLR6/cMx16G93eWIO58pSSrdlZUuAuf7NrV/u/Bvtch2edpo4G40L2Q2eh9/OKPrhuN61CLacSSKCwQkr7xgCmLjaN+Uee0AY8lHeqD+OWT5MW4arX1wDdB1IaBpkAkDXp5UNRH8mrX/c2E7wkpGbZsjjRirhKJ6MjCqgdR92/2V/3HQ+8eq/yX0SD30l8i7bcYY5dYNroswcJnOW1cGhqosDjqUnrs4CiMiwaXEo0O4gJL0IyU2A== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(136003)(39860400002)(396003)(451199021)(36840700001)(40470700004)(46966006)(40480700001)(186003)(5660300002)(7406005)(7416002)(16526019)(26005)(70206006)(478600001)(40460700003)(4326008)(70586007)(8676002)(6916009)(36860700001)(966005)(41300700001)(2906002)(8936002)(82740400003)(81166007)(1076003)(6666004)(316002)(54906003)(336012)(82310400005)(36756003)(2616005)(426003)(47076005)(356005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:45:57.1916 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9918a30f-d7d7-4fd4-8af7-08db39f3d264 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: DM6NAM11FT051.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6470 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 Wed Feb 11 18:10:14 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 37660C77B74 for ; Mon, 10 Apr 2023 18:46:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229909AbjDJSqh (ORCPT ); Mon, 10 Apr 2023 14:46:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51550 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229688AbjDJSqf (ORCPT ); Mon, 10 Apr 2023 14:46:35 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2079.outbound.protection.outlook.com [40.107.223.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D9A512105; Mon, 10 Apr 2023 11:46:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Belsc2QJB8k+IaVnQHmnMU7wG6R0boAusqbWWToWnwatwgnKsPctvPeGYnpILQVvuHLu8rp0CEd7LXxM+lD/HKsonNvZfJp0NnnjMOOsviJfcaM0Ps6N+eMU88PE/J1cEsLmyJPP+icL6fhqo+XQjZr+5GxyiQqz/BNs1vQPhGsrEkdvl9bHKLtb/22F9pqTexxyPsDQpcDUkA6CxdcBQ1n/1MyJPpnHqaA7qkQJFDfMm/cwa27qRSK0aptRBa8brwUafRCOzJaDgn1gpI4HLEOu+7VkAhjWGOPTnLLMe2+0xo6zIYcht2IpQjvaldBVLsfuXWKOWUidn0Cl7XTp4w== 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=kGfLltmAIQqzvIObwObq7/uo7s7vADyDOQbsdCWDzxU=; b=lrtEVh6VxLOIInxL1X06v5eKrSoF6BnhuC1HHOyqNhKV5isPb+qJbE/+womQAu8bZ3UeN9Vl22xfYusn/u63a+/9FSYP/XUuy18HVWlNsrsduiSoG6HxS15WBvgLaJPunMScKifnKAkAT49E6cFKzcYJzg8vWwtIJowcLhWOAaebocxJPSfTKntNvQWdbG6WsE9IJDh+f9nYikozj5yFLx3VyIbMJp8SSIi530FG353rMr1mNdemICg67sHIGVRk5cmtxQy6x9lAhGP53J3+7NMeTfcU8cMAqmJ3vkit0YT/xS8C2HE4GHqxujL81UXFIj9spzVIWarlFvIMPGzakQ== 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=kGfLltmAIQqzvIObwObq7/uo7s7vADyDOQbsdCWDzxU=; b=nXRAzTdgjPWREqwxynriW0ppU4ahm0BuFFSmBJqeUZypaFNdKx0xa+odPD4hBAS/7OVcuA9+Vj79KUt/0K0YN2kyEcSJHp2DtCmq8hMOK4rLgDqtC7xLrzF72CIzBMCHwCIPQtty/SnHyrz1uQf0pS6zWObLMltVWRJbCrDIFyY= Received: from DM6PR03CA0045.namprd03.prod.outlook.com (2603:10b6:5:100::22) by BL1PR12MB5801.namprd12.prod.outlook.com (2603:10b6:208:391::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Mon, 10 Apr 2023 18:46:06 +0000 Received: from DM6NAM11FT041.eop-nam11.prod.protection.outlook.com (2603:10b6:5:100:cafe::43) by DM6PR03CA0045.outlook.office365.com (2603:10b6:5:100::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.35 via Frontend Transport; Mon, 10 Apr 2023 18:46: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 DM6NAM11FT041.mail.protection.outlook.com (10.13.172.98) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.25 via Frontend Transport; Mon, 10 Apr 2023 18:46: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; Mon, 10 Apr 2023 13:46:03 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 02/15] dt-bindings: mmc: cdns: Add AMD Pensando Elba SoC Date: Mon, 10 Apr 2023 11:45:13 -0700 Message-ID: <20230410184526.15990-3-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT041:EE_|BL1PR12MB5801:EE_ X-MS-Office365-Filtering-Correlation-Id: b6c58a82-3f59-4d80-c35d-08db39f3d7c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6CvLu8f/TIXHJ5uNvOcY6hOZ8mOqpKiVYOP2+fFg/z9wgXIMJZDUNaUFpK+BFoJy6gJJfF6aqW6/nIx32WFxfYkhvk+SlEBc3UYUIUz/MrfRO/99QQFPh/uxMQRE6Wg/8HYCU89aRmG+Yaf1WHZSbq2czp+5SZxfDcGQHiJh/QeKGzDisQ5oAFgDdH4b+J1xfcofumOjxDWqrYAKvRBwuiLdLNOFtaStdTYtEr0AgwDO6owIfAQllBrAt2RxR6LTTiRFLayNS2qvXH1bvKDrIxBwElkQ8evtNQl/g3y73EwK2lZScUiKx5sADKw0xUIF9LjuTrMJVeIl0wmdoMEwZb7stQpy8+ekSNQWwCNasyyuURBMdq9hpHn0tqs3xUyUi/9doAW+d6gKMLQ+5vaxp4borOiJ/1PTDEjGPgh8EgNoZb0n2Wb3UARHiIxjAM8bwZWLFbmWhe9u3QvE//s1tk/0rWO0cgiYLp5SW8DHQ/VL4hrMPYu3+sKEWW5NZMmTcSoi6Ao/KwQEUuZzr6rsFNO6Cho4zijHNWTN9SlvdaUx0HtslbzIC2lv6AR1/zUoLVuVXuQXOBC81BZBAgWHs64ysKwHW5elHjDfCAFLGugoVAb1nUUFsH7p06ei9/Q1ZgjU8utA6fBKyQHJDlvejgQkoID6/guasgCsabO72bvq3hErlu4twCeIStl8IRMGOQxWgPTzOnX9HDrO6vw5icTGzd9QwatKVPw8YByLbns= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(396003)(346002)(376002)(451199021)(36840700001)(46966006)(40470700004)(40460700003)(70206006)(4326008)(54906003)(478600001)(8676002)(70586007)(6916009)(41300700001)(316002)(36756003)(83380400001)(2616005)(426003)(336012)(1076003)(26005)(6666004)(47076005)(8936002)(5660300002)(7416002)(2906002)(7406005)(82310400005)(40480700001)(82740400003)(36860700001)(81166007)(356005)(186003)(16526019)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:46:06.2043 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b6c58a82-3f59-4d80-c35d-08db39f3d7c3 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: DM6NAM11FT041.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5801 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 Reviewed-by: Krzysztof Kozlowski Reported-by: kernel test robot --- v12_changes: - Drop 'resets: false' in the amd,pensando-elba-sd4hc else properties. Pass= ed dtbs_check and dt_binding_check with both versions. 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 Wed Feb 11 18:10:14 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 3E9BDC77B71 for ; Mon, 10 Apr 2023 18:46:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229708AbjDJSqo (ORCPT ); Mon, 10 Apr 2023 14:46:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229688AbjDJSqk (ORCPT ); Mon, 10 Apr 2023 14:46:40 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2084.outbound.protection.outlook.com [40.107.94.84]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57D511BD9; Mon, 10 Apr 2023 11:46:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bYqlXiWrySCXnG2FRosnwd6T/Y0HWV5mZmr0vZdIjFUbl6jQO3/BKI5V+uuVHDrzHYovcFqumCa5pOiGMeBmzdnXz3oUhFfDTtj9Z48q8u1UyUmbnmto1YdfGmQ/pK5O1cLZutAbDV7lKaYytuHOZvEm2vIGU3oy0c6q6MaZOIl0FAi0x8TqGPbET42C4cw3ExRYJzocGxA7YVZ1zmfBTqH3wtbzwJeGeQkLqVdJKnkmF1oMdxT63h9dFs7gwbC+C+TYck2Caust3x3QS4Hqxp0JuweLUKvI1D9svFuGyKTy49w+BCZYoijU0CbpgfHCJXz8qAdGZmr3/2AXwz46Jg== 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=VGr4AzyreVD80ULGLQbPlAhRG385Jd/sGZWillqmw8ENL02kAxakpZVTGe50g6siAd5qsTWcMTQjy1ASExqqMosiBF/ET9+KHHjsyMBabgwKavkJWR2zYSO8+qdCisIr8zt+G4p6BqjuLYMNVGymz8V9wmI1Mv43WThJHLZpgu9OzB5Wa9lepUKxvUekz2G3HQM9BNjhyWH8+uWHDsOhqnlvDFjS65l7vOjf7fjbP3BzkKCbIxH9PWrtTe0gKh7U7Ije6CcjqA7F47lxvn3xM44o2ge+4yzFdy2lseolplCkpynF7+bKTMISMIDzl70HXfIQnwRQQQ4WUtPJdAaPhg== 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=vK4MYW4dLhLOhwFPgqRujBc3xIcZolJvq+QgbmFXxRonJdnUizXjA1pjH6Fv53VWylKynhtg16YuHscYBub45AkqAoZsJvt8dRN/pDHHJq5CRTrzLieGcfeg3JTSMKzJAQx7mYiGkYDiFaTx9iJKH+60drl1C7ifGthu632bCbo= Received: from DM6PR04CA0027.namprd04.prod.outlook.com (2603:10b6:5:334::32) by CY8PR12MB8315.namprd12.prod.outlook.com (2603:10b6:930:7e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.36; Mon, 10 Apr 2023 18:46:18 +0000 Received: from DM6NAM11FT014.eop-nam11.prod.protection.outlook.com (2603:10b6:5:334:cafe::f9) by DM6PR04CA0027.outlook.office365.com (2603:10b6:5:334::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38 via Frontend Transport; Mon, 10 Apr 2023 18:46:18 +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 DM6NAM11FT014.mail.protection.outlook.com (10.13.173.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.25 via Frontend Transport; Mon, 10 Apr 2023 18:46:17 +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; Mon, 10 Apr 2023 13:46:13 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 03/15] dt-bindings: spi: cdns: Add compatible for AMD Pensando Elba SoC Date: Mon, 10 Apr 2023 11:45:14 -0700 Message-ID: <20230410184526.15990-4-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT014:EE_|CY8PR12MB8315:EE_ X-MS-Office365-Filtering-Correlation-Id: 232cf6d4-9d3e-4a13-102e-08db39f3de9d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eXml937w7+sUXHldx2GdYBeGk/iANxCuInXb6XRWQW6ONeqEa8wsMd9V2eu+lvpXJdAam6Tdj3NjkQFkVkEVBhsaL8KEw4+zbCMhW7+uoyFMrrQWFLJqcKb9VHLbNTrAGULdUMFPTXz1Ulou2vLYfz2P2rv9Fpv+RoKni/zaNOL06Bo9lLFgti6pEOYpxSSk8tC1fytdfrjWzDUb/TdzIGGUxIM8rK3zoyWuLnlOCIdhPu+CEMCg1tnerbHC0aq9crdo3tbVp9MD3CLXcVyTWa0YPAYdzSp+13v81OV7AZkhcnpuNKRBf1uPJBhr7hB6aptY+oDOb3tzgsJlFU4s0+axhLlO/owPbc7M6+GDp4/8QT+mRsPljKBNC1U/GbrvYVfhS3bjpeMvcpqjmPOynjUre6k8fiRMl4K08r81u/fTXALXoS0Dz5J871N7yTH4USs+Ii8fI1dDqbv1nf5O1GWY3ac/OYIQT5lxJRO+Lf3cqc7sGqMTSPT/Cnc0Y5V+9dEXBtDJ8G1D/Hj7kg3C0qVy7HpRxzv9CBEriId71wD4ZGvPQdlx5gWNag94Nb1ACt7P/pqXtPjz4guYRf/TBLBm2l2hpJ9JpnLeL47cKd2/HikFFqP5qRXFep3k6+S7fUYVKVZ2sieo/j/pv57vWKCzoWbz9/W5TE40XPgFxShlKiSx5PjTvf0mUqSJjuy/MEyFwg4d73tL7kDkCRJ/v1vZ5/7yUGaJ7cpW0ay/GUY= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(136003)(39860400002)(376002)(451199021)(46966006)(36840700001)(40470700004)(478600001)(316002)(16526019)(1076003)(26005)(186003)(54906003)(7416002)(2906002)(7406005)(70586007)(70206006)(4326008)(6916009)(8936002)(8676002)(41300700001)(82310400005)(5660300002)(81166007)(356005)(82740400003)(40480700001)(36756003)(40460700003)(40140700001)(83380400001)(47076005)(2616005)(426003)(36860700001)(336012)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:46:17.6947 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 232cf6d4-9d3e-4a13-102e-08db39f3de9d 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: DM6NAM11FT014.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8315 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 Wed Feb 11 18:10:14 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 86498C77B76 for ; Mon, 10 Apr 2023 18:46:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229688AbjDJSqx (ORCPT ); Mon, 10 Apr 2023 14:46:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229923AbjDJSqp (ORCPT ); Mon, 10 Apr 2023 14:46:45 -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 445811FDB; Mon, 10 Apr 2023 11:46:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DhmSKe21BPokgN9g76SCmHChrM0yDeh8WW/EMWZG+tpie4KX4Z58mQPd/Ro9wyfWBSjfMh82ji0/tjkTcYQkrS1TliVziZIK2snZTIP2/dvGkAzooVJvm5/44xRkCUchNjEwDYjagqNvkqBaBKDhJ1xSSSHOTM5AHKT06PCAQnWjqjJKCH0wQM+weq+mZStU0jBaXGFq9/QYMhgzB7qaG3Pvl4/cAT5olQnQqiu+lLxLI5+ovQR9kRWZKHqx0YqEn9x7bo+daP6kHigyb4AGwtKblYHpJBAwLksr+OlkqM7VoaNOewiHZm7Op7yTiZJVgNKkLDP/JD8idS5LufVtHQ== 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=f39AdSgmN7mi7oqZTbTn9NrPcuGwYhW5SB02BOkCcCwyL1b8eWWRbPRLHPCW52MT4l/fNaLEU0zf4YRvPa6Q1icRuLUJvU8dlc9ot8TxetF7H/RgdbTnaheROLZbxe9YYTUNJLgWi7b79vBK+m1owJcBSu/fIBTcb3oG+Odp6Bv93/ZFxuy2rrachzf1OH+1pKtJ/BmDxdv4OWN2WXIJvuQofVPkJOR5i3sF675VP7ezr44YaPujfwDkCSQNp72RXC4n5x7FWtHlnadgkOYaSwgvrHDGO7K0vDqGlseQV8iWHXcX+Y360l6fGpY0dVTOd5jgzBI+Q5E6szR/1e9UJQ== 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=JVV7dq4f+EL8ueHLVEL8oEOqNsDR9ghb8mYF3bgk+tKQ1ETuBFp4AmsHOxDo+HAbduVzEJatjtLuyLefuOBue59bGW/mFEQNX0Q25WqWic2I36Lg8T5hy85SactTZcE05cuIR8awj3mZRuJycpIaXDE2IhzeVWHTFIB7i6BGoSc= Received: from DM5PR07CA0051.namprd07.prod.outlook.com (2603:10b6:4:ad::16) by SA3PR12MB7923.namprd12.prod.outlook.com (2603:10b6:806:317::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.36; Mon, 10 Apr 2023 18:46:25 +0000 Received: from DM6NAM11FT085.eop-nam11.prod.protection.outlook.com (2603:10b6:4:ad:cafe::dc) by DM5PR07CA0051.outlook.office365.com (2603:10b6:4:ad::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38 via Frontend Transport; Mon, 10 Apr 2023 18:46:25 +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 DM6NAM11FT085.mail.protection.outlook.com (10.13.172.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.26 via Frontend Transport; Mon, 10 Apr 2023 18:46:25 +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; Mon, 10 Apr 2023 13:46:21 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 04/15] dt-bindings: spi: dw: Add AMD Pensando Elba SoC SPI Controller Date: Mon, 10 Apr 2023 11:45:15 -0700 Message-ID: <20230410184526.15990-5-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT085:EE_|SA3PR12MB7923:EE_ X-MS-Office365-Filtering-Correlation-Id: 95cacab3-1af3-4645-21d1-08db39f3e31f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bKK9wc2WjMUMLpwIZwNGjLB+kr5xL+/qd72Hsa08Yl8JaVH5P3kgo1wuHgiMDrAh6XcFRTySEUaFA5CyVUQYiB+/B8wo9WmRudHAteHm5t3aByEL0GVbJoHmXTqZrDKOkeKitqksHfzRCKMGM6bc+OJj8IIG13Acko+KaBBYip0kP/KHGMs+5fgyLMxdZs2Lwu2v1Q0yShPSsKrvgQpWK4wYXc7mabAqIK1+y91EUIpl4zg1qq8QNFrFFddkdE0uu+rFZePdtpLZtjz/ML64NHIozDrj5phg7xm4g4qskI7xbv9jRuA1S5zber0yZbVX6TVsBhTsUKTCfn7hwFZQkUJNyhd1O8LiwdUBGPKGN3/cG/uoWHUuiBNbLxSsJ/qN7ThigF5F1qrRzTILxANQlhyWnFDr256K1XOjYZksNY/F5wfEnX5HN9gKzfp2DxqBUNKDtb7Eow2m9AzNjOVRpc6A6ZmSkNKRoGFDVvcvKKiSqjsu5TmbcPUVrziaumUKbJnY6WnNLmUg5O86r7scf4s6ym7AjpAuZrpt25oUOJdcDxGLtkJgZSu9c6+XvFlSVq4P0yVFBQkeIr+W0YC/zK2lyq7qaMUfQHU5F37UaKdW29P8os1wbXucuanQHfzxbygW4XspoyavYCnlNQZo+m0WPQeOJQX2Xb0HtZlpjl6z9MPVG+BKGqMSNkurdGU1cIGSYS/dzbZ9TCd8XpDxDpD49IIqIPgUn7iIP/U2vUk= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(376002)(136003)(346002)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(6916009)(478600001)(4326008)(54906003)(70206006)(8676002)(316002)(41300700001)(70586007)(36756003)(83380400001)(426003)(2616005)(336012)(1076003)(26005)(6666004)(2906002)(8936002)(7406005)(7416002)(5660300002)(82310400005)(40480700001)(356005)(36860700001)(81166007)(82740400003)(186003)(16526019)(47076005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:46:25.2736 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95cacab3-1af3-4645-21d1-08db39f3e31f 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: DM6NAM11FT085.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7923 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 Wed Feb 11 18:10:14 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 5CED7C77B61 for ; Mon, 10 Apr 2023 18:46:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229950AbjDJSqz (ORCPT ); Mon, 10 Apr 2023 14:46:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229939AbjDJSqv (ORCPT ); Mon, 10 Apr 2023 14:46:51 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2064.outbound.protection.outlook.com [40.107.223.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 946551FEA; Mon, 10 Apr 2023 11:46:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fCRqYiEVrRFTGHEaUDljcn5jL40ymQGwLGurDooZD2kuvijdZEnkObVjDfI//qnZLBqJ27YuveXlWfzeUyjbJldsjdwY1s1PMATTv8bvgyaPKeyjtjHHIBotZkOwfyT7AVEH/JLqOWFbR4th+Rv05y+7F6Zew7h2RfGABXxvBZ0SF6p+d8hvCL1l1E5K1Zm4jRWp7a1ZooCuLU3QIVNhnIGHnwtdAfQ05Zt8kmLlfzDBmG+dWSsmFRBeKPgxJE9IZL6XVBiLhZKtctK6P5raxZ07T1CYS11iFZuiwrlhn147t7Ifii3judSYXePTsXUrZnvUi9tOt1XRbmAhEo4+PQ== 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=YmdUSjmhXti070dH0y3TAuwcet6YW5zUhKeIC+kXi5yxdpKysLyly3wqmpydgfX1XnonyuLek3e0mKXyzqWZzUhJBTyflnWJ2QRf8p2rQog3A+StEM+q240jh8lVqzYM1sPJbLuibk64LC5kSqbLHJkWKGVVLSRIldojiK1jcMSM+/oMjhAjcIJcXAuITgHRsPTQQ8QKrH95d1bnhIvqnQaLvKzn7cBKUFcd+n7x0sYRXc7ugyrViw9JQHFHSHV1pMV89oOnmFNBK3MuM9If9mmO0SHEZA3731IrgxcblHP1yr/3KUPZBcari8Qo8mBsDaESZ4Y6dohN/tkIsswIUQ== 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=SZfwNewaew6eR6dyylZeNyoRBQalZK4OJdotgD434coyj4/Nk6wrY90Wh2feN5qmW3uamyV+aROel9nVivYeab7UR6jRgMPbuoGqf/a4xJTU+kXEf8X7NKfOFLjuT81byJlXF1uD2KfBI3V5kM8Njfzd/eZoJ+5Jde/vQ6FpIkY= Received: from DS7PR03CA0106.namprd03.prod.outlook.com (2603:10b6:5:3b7::21) by DS0PR12MB6630.namprd12.prod.outlook.com (2603:10b6:8:d2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Mon, 10 Apr 2023 18:46:32 +0000 Received: from DM6NAM11FT052.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b7:cafe::6d) by DS7PR03CA0106.outlook.office365.com (2603:10b6:5:3b7::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.39 via Frontend Transport; Mon, 10 Apr 2023 18:46:32 +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 DM6NAM11FT052.mail.protection.outlook.com (10.13.172.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.27 via Frontend Transport; Mon, 10 Apr 2023 18:46:32 +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; Mon, 10 Apr 2023 13:46:29 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 05/15] dt-bindings: soc: amd: amd,pensando-elba-ctrl: Add Pensando SoC Controller Date: Mon, 10 Apr 2023 11:45:16 -0700 Message-ID: <20230410184526.15990-6-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT052:EE_|DS0PR12MB6630:EE_ X-MS-Office365-Filtering-Correlation-Id: bc221dac-1306-4a5c-db6c-08db39f3e79a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fkZsvLTBxYyc95OgGL+ex1fuc/LVjj2he59UByxjum50nASIQQnybDWgUzCuw2TxQxMwIejEilZz7U7g9Piq076lTKLyOD8PonvaY4AOrvZjOt9TdB1YluX7416703ytXK4+2dV/fcmG8MvGzeg5qCnSRl+wFnccQi4kZhIp658CEWRrhPbgnuK3XvE0xgLJyht+rF6y1GLbsXA66fnqnPIkqCrPY9AFQTFZLbIob5S8oxXs5sOaBZv8UII9QwuzJWRNHiCcYr7nSI5bBvwE+Hsu9DYeUu/EwnuevMsRrohWzCjVZ8J3A0c7xUbV0W2rWD+MisFDLh/mJM7/h9uvzvYJs3/bM9JQyU8TRfCTWo1h68PAsHcmrNEpv+1j8pKJ3oWg1TVf8+RghilJbTBYMpqU/CHWd1O2ahLgvKiZktXSf1OmO1J9YxXwiCN3f2stFcsBThcWltPKXvSj2jIB/FSShL7nbgnxjlyXCC5sZ3HeN6hrsdC9/yhwyfGOKuW3MVzhNN05bCWAELm9c2F1gBybTUrYuiqpYfBIMV0lgFmUHVBL9ARJQNqOqVEl/xbJN3hEHm92kw7+W0VTflQgXoIyJrhweYi+5WTNneJU2J+tP87qe1/rwy5huVdgZ9S3N+1H9kyz4OMpKnOfqEpUARMP0QFeROvN7f7nqTcMbqb9bjSWebXWTHhjNmy8SFNshC+0ud589tuwWUdT7vELjxrl2tSBlmjs2L0+WAwjb0se35bAfmPvc2YstTfbCIvwxv22/ucCT0XyoJfQXc3f6A== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(39860400002)(136003)(376002)(451199021)(40470700004)(46966006)(36840700001)(5660300002)(356005)(41300700001)(81166007)(478600001)(40480700001)(82310400005)(2616005)(36860700001)(8936002)(8676002)(82740400003)(83380400001)(47076005)(2906002)(426003)(336012)(7416002)(7406005)(186003)(16526019)(40460700003)(1076003)(4326008)(26005)(70206006)(70586007)(6916009)(316002)(54906003)(36756003)(6666004)(966005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:46:32.7641 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bc221dac-1306-4a5c-db6c-08db39f3e79a 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: DM6NAM11FT052.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6630 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 Wed Feb 11 18:10:14 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 73AB8C77B71 for ; Mon, 10 Apr 2023 18:47:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229974AbjDJSrC (ORCPT ); Mon, 10 Apr 2023 14:47:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229690AbjDJSq4 (ORCPT ); Mon, 10 Apr 2023 14:46:56 -0400 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2042.outbound.protection.outlook.com [40.107.220.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4180E211E; Mon, 10 Apr 2023 11:46:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eBdqtFx7+csUL5mNLCvLuD7flg/GsqGd0ZifCx3t/AWiuaDFlwtBLpRBT5GVi4pJPVyvGvsElCgAAcDd3xBMklpzwocQ/TfjTOM+ZWCI1E7x/nwN8AuzolVisufLRr3JoVVETxPZFNO3eP0w6tvjnH6Cp2tZnKcszIQy9yA+nVzTyzaJQFOhSttVHJGI2hdr1V8r5Ssnx+q7J9Yx1m4ZDYQPvJtJsIVRHbtkAj2oFqRQo3Q+zx9Sckce9CvXuesEQ2F77gTZWo4rRSwLNLH2EJ/wec8J3FEJqQLPmsah5WNg/sZLb8y3Jn+kikJSsbLkUip0XnziMLXDEY95Pxr2BQ== 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=nIMrL19mVC+23oCVTBoGLkGiNqq63VaAeOHcvuaUcGOw/LzcX52WZ46FR4cejrCnLsqOT9s8qBTDpFrqTANqgPHaoVOmKtvMDcdfDtvh+S3M8KbL1xhyIh5u3Rzwn4E4wfMOceL8kPiX1B0D4LLyU5pHBji5gZlUDrPvxY/p7JNMnQyhSHlIC7v3cV6bQ0B4zHT4saFEuNuxJMfVLnr/EFSzLa4VLJsRsACwiF2lHaiBNX6iiDcifrvXi22pcAuYfvaGhpYmDEyTMDGp1v7eUJhwIHajN0/K6ruYWUfj1U8oJdyU7JxBioBu4V1YhoZEQs0VLl1SvGot9BC6Ik52Gg== 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=R/FI9via/wh5waoaC1x1RqSm8zEG+WbYTV/z2YZDLmOFyIa/XbktvXV2zT17F27K3ZNB5xb0nqxiwPZUfe53VYmIOSKijS4YFeE7KqXwldPq9/DISxUS+fTZ+bHJlLpgDcNdkwbvfR0e47WhzWGcYB/9SlHQNhLq+Kae3CNd0BY= Received: from DM6PR21CA0015.namprd21.prod.outlook.com (2603:10b6:5:174::25) by CY8PR12MB7729.namprd12.prod.outlook.com (2603:10b6:930:84::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.35; Mon, 10 Apr 2023 18:46:42 +0000 Received: from DM6NAM11FT081.eop-nam11.prod.protection.outlook.com (2603:10b6:5:174:cafe::8) by DM6PR21CA0015.outlook.office365.com (2603:10b6:5:174::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.2 via Frontend Transport; Mon, 10 Apr 2023 18:46:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT081.mail.protection.outlook.com (10.13.172.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.25 via Frontend Transport; Mon, 10 Apr 2023 18:46:42 +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; Mon, 10 Apr 2023 13:46:37 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 06/15] MAINTAINERS: Add entry for AMD PENSANDO Date: Mon, 10 Apr 2023 11:45:17 -0700 Message-ID: <20230410184526.15990-7-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT081:EE_|CY8PR12MB7729:EE_ X-MS-Office365-Filtering-Correlation-Id: 09e97b79-7071-49c0-7cf0-08db39f3ed79 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 49KxCTAHx+iUb5KCyoZWvNF4YEtwnPFYzLB+pCENV9oPa53Rmv2gN0+zBt+y4vCp+vWU6Qs0gHN+/OHcKBvrXbJ6di02sZJ8X5+XsEkwRfAbkC0aXSG5yweIxUi7RGGUX84CAx6Gv8uMrQTesAK5QXEMIxTRUZANedm4NEaNynYy1rbhfqfhfxDjWYbqs/MFd1sWlf5sDOockj/2EAuToAY3bX52kKQLVxvtm5lXYWF6/F1a8nAFoeGEdypltHXCHKHvrzJvNyb0jAiIhRaJJo8teF7I8wkQ1Oh3G4Hj5+YZn+1fh0PgFSgRNkvO3VYWMJ9dgnIjtl9Wne7n76RKTavRS6ndGoTbhyuJ/EnnEaFSz2AONFgteNCZCLD1XBes7+qQqZOQrQe8Hxf8if715dEidmGzdOpNSI28nIWRZPiajw4LqsUwDf0uY6kYQoLSAvF13PV36ZH7fNqOHrYCU2Is28VYIpVu3ViQS7THH4RdMld8MKpfdyENzLMCenPg2ylEYHoqJ0CdZaPZRa/Ceql0rNNdHr1ai9ippjYzQp2mC0yMvolwGqGWBItQ0yNT5x9hUt5G0a3KL5lfIVXvkA/dbXnpgCjbecP9jGP+XpWWXsIk1NRBUu79dfgEiYqMNiTGi+tvDD7Tl8aMSjmKXNAypnqCPGj6UqaEqN18UirQD2FifXbxYBQEil3hMH642blgzYb3pFJZo7VtkF++xrgofqXAgGak85564nc6o3c= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199021)(46966006)(40470700004)(36840700001)(5660300002)(316002)(41300700001)(7416002)(8936002)(54906003)(186003)(2906002)(7406005)(4744005)(478600001)(4326008)(6916009)(70206006)(8676002)(70586007)(47076005)(6666004)(82310400005)(81166007)(26005)(356005)(40460700003)(1076003)(16526019)(83380400001)(36756003)(426003)(336012)(36860700001)(2616005)(40480700001)(82740400003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:46:42.6274 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 09e97b79-7071-49c0-7cf0-08db39f3ed79 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: DM6NAM11FT081.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7729 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 Wed Feb 11 18:10:14 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 A01D5C77B6F for ; Mon, 10 Apr 2023 18:47:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229989AbjDJSrP (ORCPT ); Mon, 10 Apr 2023 14:47:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52588 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229800AbjDJSrK (ORCPT ); Mon, 10 Apr 2023 14:47:10 -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 8786B1BF1; Mon, 10 Apr 2023 11:46:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nf7MOgLG070IrEvUvo3qdZytzRnNtSQrL98ffGJBRzfNwJ0Swue7GBz+zMBSRCS3XEKb/jmMGcukct71/yycfVqIjMuTcW12lKMAjgQ50VaeXU2MtVF1VONzxhSP3ksFjzRaG7YTGXg3C+UapBkf421KsjQi6OkeYhVGWi+AYedGavoqKP7pcf00+TmL1TkPYVrBY2DuRwb1aOBT8hDNILkrq4mhcMYtu2z1gCcCu6nu0vFVgZO5BXKE/E7lKBEKZ2QMT9XWhSwU8w0I3hwiLxYmWdKSdojyaIdYsZH+iY49esbcnuZn2SveInnNnlbjH+mm6/826XQLo/quBgkGtQ== 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=NVakYvC7UmgtF/qM0E0RjqV2Wpcpz/YU5nTYclczUE6GH2UxSpnSkoHqCFAQOmWA42Rdn7BVL+bYzucpW7BAhYvCxCu0zvoq9mCiPveZ0Lg8RrpGXblItjkvV/ThjCy9VcBh562IC+djJ7crxOi6Kg2xIL2gT47u1vlDgUbxhFFJcEwidVEMJHSwoy6cfhdFUnwuPpLk8X2ebzH+BFKCinxRjZNKW+RWzECgqiMacW/L2IxoiliQLUBOu8zWdq7GORPIe+78S/Trdl/E0Rs1JWxEffplcdn8LxK90bEx5tGwooTmD6HSIIhVnpTH83CK2L8EJAikfFTPhUr7KW49oA== 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=1/TibCQ0yM0dXjNuZDOjSHS81CAh59+TZZmMTYRtraoR6jP8M1YwQTnKRU9uaaZCBmzMhUrmIBcpi+DeTrAYdMDA0NUiaIjxQju/d4gi0v2+PCh5oTKBGzbY5pHKG0Ows9r3PzStIOW3e4rYfX34wlXmdpTGOQbrSCUsO8hKBTI= Received: from DM6PR06CA0051.namprd06.prod.outlook.com (2603:10b6:5:54::28) by SA1PR12MB8164.namprd12.prod.outlook.com (2603:10b6:806:338::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Mon, 10 Apr 2023 18:46:52 +0000 Received: from DM6NAM11FT105.eop-nam11.prod.protection.outlook.com (2603:10b6:5:54:cafe::e5) by DM6PR06CA0051.outlook.office365.com (2603:10b6:5:54::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38 via Frontend Transport; Mon, 10 Apr 2023 18:46:52 +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 DM6NAM11FT105.mail.protection.outlook.com (10.13.173.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.20 via Frontend Transport; Mon, 10 Apr 2023 18:46:52 +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; Mon, 10 Apr 2023 13:46:48 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 07/15] arm64: Add config for AMD Pensando SoC platforms Date: Mon, 10 Apr 2023 11:45:18 -0700 Message-ID: <20230410184526.15990-8-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT105:EE_|SA1PR12MB8164:EE_ X-MS-Office365-Filtering-Correlation-Id: 733c75f8-1ec3-423b-334c-08db39f3f311 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IK3w+raXIpPYEWi845cU3L43kpA01de+5+BqN2W4OtjwUXFHtsqhmj1bB8AHGx8Sz/hGAXPAJaNXMm4PVqCm2jinszvohOOjokpyzsE4AvUxaXPBqM4kXKtGTdeATXWDuvc9nrhc80pscqgxFlGIOEg+fCpqZNfAgrrTtA535pUauRFEGouQJHSdM/+Cs0vG/GdE3vKAerlIJf/eyIwXYt5GcVDWr12copqggdGjXm6oowLKpUyeBoomu97sztvYAaQ7nm8cFElqZRJ5cKxvRjHheE6x+RNzXpA+o5p9zt8CXppE6pBRm2pc4ctnPe2xBMSZR9p85gUZ+MtfJc1FbngdnFCtgQrE+a8mcC3VgCl2cpfwcbJVactCScyctNnVCsThwwIrB5zGwznQCr8Z8OEqQQ8SJ/raHGdzv0A7r6bGWN/hO/YxqayyHhSyXkxcleEzVVpWS3M+tUOn0fOBDXFazDtDXNgpxmcbdJUpfPGSpnDQIMaRx4HbjdBhNc5O4ouf9jCfr4PQXMcyiU3a3lpAuLWJDlQyGXHiSJKT3FFvHsAPYNsYIbOButR2o016QkbDUx16/UEnueoZ9qkpk4SbpXVVGPvbe0ai9T/7lHtRfkqPVvVOLBPbQPvErJOXJE0Xpq44SHLk8xiF5lD2hxwz21fOCCD2TukcAGVYUWWGN6965JxUxt4gA92JQuvGuHQDM9o0sQtmT8CJ7y1Hj4q1lcHauO/6IAL+wYBgzyg= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199021)(40470700004)(36840700001)(46966006)(478600001)(40480700001)(47076005)(40460700003)(36756003)(82740400003)(356005)(81166007)(2616005)(36860700001)(336012)(426003)(6666004)(4744005)(2906002)(54906003)(316002)(186003)(16526019)(26005)(1076003)(5660300002)(7416002)(8936002)(6916009)(41300700001)(82310400005)(8676002)(70586007)(70206006)(7406005)(4326008)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:46:52.0102 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 733c75f8-1ec3-423b-334c-08db39f3f311 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: DM6NAM11FT105.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8164 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 Wed Feb 11 18:10:14 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 03522C77B6F for ; Mon, 10 Apr 2023 18:47:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230013AbjDJSrY (ORCPT ); Mon, 10 Apr 2023 14:47:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229971AbjDJSrP (ORCPT ); Mon, 10 Apr 2023 14:47:15 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2050.outbound.protection.outlook.com [40.107.237.50]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 80E35213C; Mon, 10 Apr 2023 11:47:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YcdsWbUR2J2QD8if0a9Uj8MXhbhzehPEGKAfDcjZ8XHs3E/c0nyZ0FIdIoDDxbINeuoLhy69EwBs1A15TdTnPrvyJrmsyaWcGJHwxvoKGr/tn5XlwiPjK79fKJG4u0xP618/FvVC5jqWiA2qnXIxdjP+u5cG8eU9EdIAO8WzVJXUW0lVBD2F0qg9690UN3vj2jpPOdyOgBmksQnuFlCOi04mxJ5rQRo0j2Udbwfiv3AjpO+m0+zCE5a18KFOrolx1kUOwgO+0MECcgIfPBI6HMV/TzrvAdMEhDsq1Rl02Me9+jvtDZdsXuRxyb4sgqU2AhyB6V9wCyqFGygpdNoHuQ== 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=UcVm4K+m4Ssn5N8Ty0r2SQRF6q34rhXIOeIA4UKBO7iyZP1eZM4xJdiU+RE9pqvj+I8licTq5VdFsi9FUVWfVKy9w9asZkoADakNIbdqWSmwmzURGfoBckLVuV34YRiXbsTAlDMPVUJxhnAbD3cIyCH7o0q+17D87Tb1FXmKRH6IJqpJ0wzcaFq6IiowNOPzvebIZIOTfLXeyy+fAUAoPKoQ2tRWoltF0Pm6SBEr6eZbiQfDHiYQIrbGX2MQJtI9R5jQSb1u+2dAmWgjtVdTabrnvMBaQKMmOdaFbRoMrCkVXkiKftXASNlv0Y5e7YGU7O6IHX9AUvn4TklpGEK1HA== 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=WY7KoHuBYGOlQ91cJ3LhAkJGHpulkZGCgLzv+oauele/APLQPhGKKcx8bQZGkrJ/3d4lNCo32rkp2kSl+d9+kHI1LjZR5/vht4EiAJzh1Np+QKDD0+36Kxdv6BABK63eTlYCyjZxsBgyKQlTrVg9pXNXIantY6iaQVbv7TilxhE= Received: from DS7PR06CA0007.namprd06.prod.outlook.com (2603:10b6:8:2a::25) by DS0PR12MB7804.namprd12.prod.outlook.com (2603:10b6:8:142::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.35; Mon, 10 Apr 2023 18:47:01 +0000 Received: from DM6NAM11FT099.eop-nam11.prod.protection.outlook.com (2603:10b6:8:2a:cafe::97) by DS7PR06CA0007.outlook.office365.com (2603:10b6:8:2a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.39 via Frontend Transport; Mon, 10 Apr 2023 18:47:01 +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 DM6NAM11FT099.mail.protection.outlook.com (10.13.172.241) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.27 via Frontend Transport; Mon, 10 Apr 2023 18:47:01 +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; Mon, 10 Apr 2023 13:46:57 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 08/15] arm64: dts: Add AMD Pensando Elba SoC support Date: Mon, 10 Apr 2023 11:45:19 -0700 Message-ID: <20230410184526.15990-9-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT099:EE_|DS0PR12MB7804:EE_ X-MS-Office365-Filtering-Correlation-Id: 87ddfe20-e801-4be9-93d6-08db39f3f8b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6ioBkiFZ43VAw6NiwZJ8vXS5WAMQBhL8NYwq9T2MkBkrx27M0hcrtOlI5LUk4zeiU3qwCXIde+vRnV5J4hyMglH6slAMFV8M7Dvj8fahsOJoZhJLvoPnQ1XknxGf1gVN+3q8zRDYVoXF2U6Uvo9PLOO4TKzW9PFI9/BHOisMiOwXZufCothnQfL1a2DY29GfgeA/D3KRTL1u1r9DMpdQMAQaO5VyNYANxMtm13ywH5NWkND/hCijlZolZOjyLNeMDQI7qOVjFklBcDLVbURVl+mL7VtZgLBF2F8R4lyj1en58JIlsRyRtwGUtAdqh4RkdMz+IuCkQh/SfuWxWg8Gl2US0ZxWuGH3s6cnKfb+24lPAnHfsdPnEXIGESbEvXz3ChhfPxQAbmnH0V7celM+IhftQVsUqiLR82r81pJAD9wRD0GuF2ttER6VsxEUuYRSiIRRId/Dndp7B1yH6vrxLiiXY/bQGvmjye7OOvvK7sephABJl6uH6nssLeYJnMW6rFZsg+LsHtw4gVNb2u0UF38f8UReok3Ejnm1KKyRTy/iCzJE4uT0kHJjUjdFnYuhE9nmFmLEbQ4tr3Ch+X/QjmcUIz98gUK9ZMyIKwhJ6n6hSKg1dZeDE0pGOagMAhzp/6g//EOBynJlG8ATGG+FWSy5pwnE9u+sfLSQ8zOZPNnPG8sAhjitm6GpFlHgYg58RD/wkRyYjCF5vcDWxLBjSDoy+X+7AeL2CwDuR+zEiLs= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(39860400002)(136003)(376002)(451199021)(46966006)(40470700004)(36840700001)(36756003)(54906003)(41300700001)(316002)(6916009)(70206006)(4326008)(70586007)(8676002)(478600001)(83380400001)(40480700001)(82310400005)(5660300002)(7406005)(8936002)(2906002)(7416002)(36860700001)(356005)(30864003)(186003)(82740400003)(81166007)(16526019)(6666004)(1076003)(26005)(426003)(336012)(2616005)(47076005)(40460700003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:01.4499 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87ddfe20-e801-4be9-93d6-08db39f3f8b1 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: DM6NAM11FT099.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7804 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 Wed Feb 11 18:10:14 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 45480C76196 for ; Mon, 10 Apr 2023 18:47:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230007AbjDJSr2 (ORCPT ); Mon, 10 Apr 2023 14:47:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229995AbjDJSrT (ORCPT ); Mon, 10 Apr 2023 14:47:19 -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 11A8E1737; Mon, 10 Apr 2023 11:47:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bB2p7dvYphkhMsuZcu+FXIe4BY1Qf0+a5X4gtlAUH8dhohE1AJuGHsPX8dRwMMlDULZfOdVHagf5f1uwh2bUezXc/0A49Wg8OX2P7SfnqDluQaU/xfcXHi9njFL9JJ8886Vo5k+iHTwd7b9yLihJqqUtU7wBDX82QcBYnQDqiFR2bQiX2ENtHUVxASlobttXY4cqmF90poJA8ozJa44VKbjv6pkVt/xL8EKu2/8Gwp9v64QUbGzNezlMZj3TCq4gCy6+9nf0y4j39Qp9/7unXP2sa4KKeSzS2fTnnGD6SnwNtnKDgsMYb3Tf8yxHjvF1fOhawzrEtKFxw3LW3hWwBA== 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=lrE6H6OJZyOrCw2vO4JwoiJNBwhGgzXFjVmPJbWWiMmMoqeDMHqqjwMRkjn+5YB5sn0hhvLQZzKHS4MOyciCjmsWbxgy4ZRwiIFglv0T1k0sdZiY0TUS8Li+dWJlg4kV2hnEyHwXlz2m6/gd91PU3P15t+3GVhc1nAR2egn4e0NqcXM0gMWaYR9yS/6Fn1VabsE7k1AtpnUGPHrMIJPIFQHcO9CBnqH2xqthqkoI3ACIVPNWO0h5BuC8zdzmpw+Jyz8r0sYKtmULmW4CGfJuic/q7cQ+yEfMqyugRU/WeZKHH6BuyK7gHe30rGpp3Fl0ePgH6Ys/icWaXmGJ432V3A== 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=a5jx0VRXw0j+XyFaxH7mlB2jvO2TPXjYYHv/b61BkvlDvQRx54393oUE+iZPnObbnSHycM/Pjmbeh/uNF4a/tewbhSeGjgT91YIdpvxP69pAoqTMU3prAPVZl25LgykQO1UwXbGUREGNxIO27VG1n/0RopWgrZPa4/nuCXrIUQI= Received: from DS7PR03CA0273.namprd03.prod.outlook.com (2603:10b6:5:3ad::8) by SA1PR12MB8724.namprd12.prod.outlook.com (2603:10b6:806:38b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.35; Mon, 10 Apr 2023 18:47:09 +0000 Received: from DM6NAM11FT032.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3ad:cafe::2b) by DS7PR03CA0273.outlook.office365.com (2603:10b6:5:3ad::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.35 via Frontend Transport; Mon, 10 Apr 2023 18:47:09 +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 DM6NAM11FT032.mail.protection.outlook.com (10.13.173.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.20 via Frontend Transport; Mon, 10 Apr 2023 18:47:09 +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; Mon, 10 Apr 2023 13:47:06 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 09/15] spi: cadence-quadspi: Add compatible for AMD Pensando Elba SoC Date: Mon, 10 Apr 2023 11:45:20 -0700 Message-ID: <20230410184526.15990-10-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT032:EE_|SA1PR12MB8724:EE_ X-MS-Office365-Filtering-Correlation-Id: bfa20993-3530-46d4-acbb-08db39f3fd85 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uI9FOduZ3iiJaZSLmz23XTT1UsyGR8PAHV1x9D3cH1hoZnrAsORD8AxZC5ybtUHfoTRd2tPUm1NwwOuZNEHnNw6Um9Z+or0UjETXbqj5wkSP4dTye/R1lpYdr8h0Q8aw4D+RP2e6npZRtGdzWv/pSlcEnzjb484ywk0r8qDl2bMx60LqLzrakTFAu2e8/3TEiV9bauXPev3Vdk13gXXPf4wvR7HS8449QYKdhS+Xrq6rfjBlrjvYQ4ucpJRT68E0RG0BMbvwpySHixcK2I6Sooj0wHhtKGX1qEtNLGbI7Jv/GWQ4QnOSvFZX97sd4q0v6s4mOHPMsd8jQ3owg55+BESoaF/faFAXNuFyXP7UIvIEX7VvQdjMsy5Scsob7d7GbDmvn1yyIEQeIt5vaPmnvkamUfCvAxvu06dB1jqp1MoU5pCYsh1AHyQVFtA1Qp2eNpE6BtmhhYHEUfTER8z06vgz8GqnwyPoi38NkdzSsTJa9/QqRHflZOd97vmBdeD0CQv2Djj3gPTtRrAA3FjADiju2Jl1W8QPDyw2HdMpLD7AnjBiBBFM0IYBoh8YZFJSXHgd0ZT2IOhyfIsA10Oucw0Zy89bxJZwH6Qqc9sWdVFBGQHyI4rY7zXU8fMNqHIHlXiqRjciWn+NetN18BLQHdUEgyE5aQpdXOvElsw2EkXdGDxeDVCanSSzqlby8erGUh1Wr8+VnaG3L3UlakNBK76DmrDAlZRZl67rNTJwC7o= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(136003)(376002)(396003)(451199021)(40470700004)(46966006)(36840700001)(6916009)(8676002)(316002)(54906003)(70586007)(70206006)(478600001)(426003)(82740400003)(186003)(36756003)(26005)(1076003)(40460700003)(47076005)(336012)(81166007)(82310400005)(7406005)(16526019)(356005)(4326008)(2906002)(41300700001)(6666004)(8936002)(36860700001)(40480700001)(5660300002)(7416002)(2616005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:09.5508 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bfa20993-3530-46d4-acbb-08db39f3fd85 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: DM6NAM11FT032.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8724 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 Wed Feb 11 18:10:14 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 613D8C77B74 for ; Mon, 10 Apr 2023 18:47:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229983AbjDJSrn (ORCPT ); Mon, 10 Apr 2023 14:47:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229764AbjDJSr1 (ORCPT ); Mon, 10 Apr 2023 14:47:27 -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 2A8F02128; Mon, 10 Apr 2023 11:47:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l58tyMGHR97Y7yanEmyjIjZw9qu5cxG2kve9FUm0dO3NI58mU0C4Jrt+Z4/eKtZZt7T536Wk8j+Oo+MdvRgqM9xeuDZwQvQ2iAqv2loVQ4KCEue18kOzafDNlvqxF8/Um+XeMbxM0taoo1CJvM8u7PK3WUkqrggAF7WfHzuaq41f354FtIsfU5ebhbSQo32iBh4YNqzJU36wA2UoVo0tuq1gKuOxCmKQB9mNi5AIde3AhdaKYF7u3VhsHyxZyfyeOwBZYGnLpJrF5grghUj82mZk/icE4dd5N2MFo67gv40iFu9mOsVbzZ6F3rBK6w4ujt+a31CL6XByHYmWaOB5LQ== 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=IefYL9V1WsAsdGbSNw8FHeJgKbeK9D8OWaMPbqMrG2tLyV/e+MMmA7G5fdvKkZsGXaP5x9LX2h5RqTBG9a56Ndd8DkkVsNGxQt9jMHaBpZJGBY5fh06yCFQkvF6/6UvWGiGDMdUxJOW2pfWSEvuGWL4/uu57jjO5wZ1fV+B+u+U+T5md8zQANCOmpa9cYOPNBE0U0BVvK/x0c85eqPLACFFl8uD1wJoXDzqdIqWXVflGR6awDgXGLXkaXeAtW7gxNziWITs2PQsCdcVRGdz94Otf+9s5LZoTQ2lRk7AgR+84IrkfapPeQ97Z/1zDbh9EiSy1MNAcM2kNXfmSkeIHKw== 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=V6wK6HxYpCDgDPVZEsRs6nX4DyEXu9dO1nzJSNyD2Ez6UVy6h8FWhtUtS6tDfSrMnw56U904PZj0X5nTX6Wpd9gbl1gGX/ZAK1RnFBbtZxTdcJL7eSTi6pucPELrAW6S9sX97ECXvOrbqdwqnSkrxfIcJQ2IbW51RO5t4jOIhcg= Received: from DS7PR03CA0216.namprd03.prod.outlook.com (2603:10b6:5:3ba::11) by SJ0PR12MB6927.namprd12.prod.outlook.com (2603:10b6:a03:483::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Mon, 10 Apr 2023 18:47:20 +0000 Received: from DM6NAM11FT112.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3ba:cafe::cd) by DS7PR03CA0216.outlook.office365.com (2603:10b6:5:3ba::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.36 via Frontend Transport; Mon, 10 Apr 2023 18:47: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 DM6NAM11FT112.mail.protection.outlook.com (10.13.173.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.20 via Frontend Transport; Mon, 10 Apr 2023 18:47: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; Mon, 10 Apr 2023 13:47:16 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 10/15] spi: dw: Add support for AMD Pensando Elba SoC Date: Mon, 10 Apr 2023 11:45:21 -0700 Message-ID: <20230410184526.15990-11-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT112:EE_|SJ0PR12MB6927:EE_ X-MS-Office365-Filtering-Correlation-Id: eaa9bb34-502b-453a-e85e-08db39f4036d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: er4wLw+L9f2c7Adn0wLJpHHAyHgsjSP3+IJRkM5ICU4kqXnI4iwNVfwU900U00GJZFpoXG9zY0I8iLUrTyonWlOjPSoZRiGwkb/FbkIjRQuxSeGTpgWKbTKA4jd8ZqSOHDY77VjSrxhu34e5kuvrBmKbZssjDfnVI0QtX5hxz4yg9yjlNep1yHqcoEneZe1CIYpQNsDKcDhbE5cqP4DGIwT5cMK9c1d8OhhMsk2t4fqGk2RlqvZEoQxdSpBMYsygzq1IL1WpvjO6yQBZNk3BnKzJ2AdMDwd21dWRMl60C2H3nf74jGQEbg+4RJvJxJkmIhiGghgFfFH00QlLHkn4seSjJg1R8RMQL0THAs5/kcX3FxfwMp7jHuwfKjIOaOLl1aXo8VkdklD8f2evk+6JTU49OdOAb7lSrBS1bpA07tLbhDRUJtEJThZ6toFO1uN4jZiPEznUCA+DH6h8OC5Y5AhF0zJZsjfv+vkEYKsyP7t4bBOjZQbPOjBY4r9r3pJ6xcgTEUG6G2w7FiImK2rmAYBRWJN2c1EcvuPm59+UMf/aUhI8Hqwv03gIsO2D2saBP/HK0H1R9G9Zt3JsUwhXE2Cme5J099zXn31gIwlI/cB2fkjHvdMK/LRyi6uSuPaOwOd+vO5SPn750sdiRwfC8OfYLXpjTZ5AdCyhH9giVaRN+L8PYBg03FoXve3DVWWhLRgpCXRlf6FHqSNLARfG1crshdqWch1uYSvjUyftfuc= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(346002)(376002)(39860400002)(451199021)(46966006)(40470700004)(36840700001)(6666004)(478600001)(40480700001)(47076005)(83380400001)(82740400003)(40460700003)(36756003)(81166007)(356005)(2616005)(36860700001)(426003)(336012)(2906002)(54906003)(316002)(186003)(16526019)(1076003)(26005)(5660300002)(7416002)(8676002)(6916009)(8936002)(4326008)(41300700001)(82310400005)(70586007)(70206006)(7406005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:19.4301 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: eaa9bb34-502b-453a-e85e-08db39f4036d 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: DM6NAM11FT112.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6927 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 Wed Feb 11 18:10:14 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 32FF3C77B61 for ; Mon, 10 Apr 2023 18:48:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230052AbjDJSsC (ORCPT ); Mon, 10 Apr 2023 14:48:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230025AbjDJSrx (ORCPT ); Mon, 10 Apr 2023 14:47:53 -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 573852703; Mon, 10 Apr 2023 11:47:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JmkvIcrFQllf3lmXNlQ9ob+6HAApevhyxK8bvixm0Qi3qR8Py5ZOqn9LuPqbptbkmEFNFk6WFwBl3B2OWbPmti5M37Qs/uMOVClY4saWGw8kl/N/+MVAD0KKA2+22YDrPHl28CpFu9ZmmbzRNpaubT7Mg04vTcc+ocFMLhQl/nb+1DqH8a1coeYvJYEa3ym4dBxmo553NaZDNjtmrTycKndPrS4oxd7tMByz4rfcEGEL88GWGHZpVNprhPrSujYweBgxWLRU7CCfbaFO7PTE9dp/YWnD/IjJFNpIWQbLh2gF3PtID+NqpM5nGBD1XchuNueCA4Nve8URE/CgZS0GVA== 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=CIpMNyhDRfjj8DahqKmM5912EYVHDNfJs6XJZBeDkod8Ia0NM7yg4n65RsR9+Pn4s8Zfv+Gxhg74S0Ctc+PIcAsn2Ad+e3hITIOjdzNjXG9uxzc6YwfVEt8bpqxsKWRgQbuu2QMf/zAYS0XtQcEFQaD7WrE7YlEIbTJCZxoVSskIXsMYhGW9xA5RAao+eLI5nAKLgOIMfJN7Vk6fHx/Yd2GR1+FAx5cjYwqTcqHS5v1XaIK7NiiHClO3G8lB5MEaeG2/ixT+BtR69U+Xm4hFgGg7dIG6SliLhQHzp8VQqD5d+9PZfwGUs7xM43WtfGLVdPxIxEiMALcnH5WYNS0dNg== 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=zK8NCDneqNk5x3r4uwAFEGdofqFOitdf+xqi78j1T9M6oF0kD7cQMwJ82bCeWKi+wfbl7FK05p1/+VlHqFNFw++rV1T0zWkobvn+DGH4x44/uc29UU1Cvc/q4AZ9IfMyNC6IYXN2mjbdPqFdjuwoW0tNK8LhldfpSBkYYI19zok= Received: from DM6PR21CA0027.namprd21.prod.outlook.com (2603:10b6:5:174::37) by CO6PR12MB5425.namprd12.prod.outlook.com (2603:10b6:303:13e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.33; Mon, 10 Apr 2023 18:47:32 +0000 Received: from DM6NAM11FT038.eop-nam11.prod.protection.outlook.com (2603:10b6:5:174:cafe::8c) by DM6PR21CA0027.outlook.office365.com (2603:10b6:5:174::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.2 via Frontend Transport; Mon, 10 Apr 2023 18:47: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 DM6NAM11FT038.mail.protection.outlook.com (10.13.173.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.25 via Frontend Transport; Mon, 10 Apr 2023 18:47:31 +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; Mon, 10 Apr 2023 13:47:28 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 11/15] mmc: sdhci-cadence: Enable device specific override of writel() Date: Mon, 10 Apr 2023 11:45:22 -0700 Message-ID: <20230410184526.15990-12-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT038:EE_|CO6PR12MB5425:EE_ X-MS-Office365-Filtering-Correlation-Id: 9df2f4cd-d3fa-490a-a878-08db39f40aab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Thg55SxbMHMDJYLE1U7b+FlHe5S49Sqz/2dOuk7f8xBJfhXS+fERg7sqwImvsBgmr6zc7iO5KnG8VIsQCs6Y0RF6K4o8waha8ZwBIx32zs4qYxUsQX8mvPN2uJ5SD1eoVZNjk7T8LMawE8z65kXFAmkLDSbYPKs0WjKxSgvJXLUlX/tKPYj8Ot/Lcu2FjTAj//jBpVKlwN6AOFPWWtk5iC6fp9EhULwNk6fwNBxfW/n4ZQOaqirL5tzVFx3Gk/KFK5swW691hmVo1zfA9bg2+mkt/k1vPnBCdZbFJuAoV6iJh2vS6c5erAtsMMh5umkHwOdjkuzHeQyAUg6dtEzLR1cT9VjGxGIXxlnsRc2r0etCHNaBWFzGXZl4Un8nnbGcOwycn/J10BwvSku5ph3LNNVrOfy+TcvVLOdaVziknuwcBvs6k2vKggx9FWdogOvVIwGWxMjyIjknnkN46FQXXBMuF9Z7GTdTDVYwmbAlDNDeTlBlLBHSOfJqHQD/bmxuw4MxCXDo+bwPvpFHXYrsh83AjKZ0dcMXc/waRU2MA5/p6vEPuY2DAUciGMMfo2FNIwPi8e7KuDCOafCTOB1maDplhRUYTUaodgn3hNDqZHd6lga3JmN3pWy8sngndq5Km7sgo34O/cx75m45kxqZZz+il+sA/o2IOuqiIfUH8obf5dGyeVt3LhHKm0Lk9Q4y3SJS229xa6jLMlButSyRr97R1wiUodOtZKGbNW7pvLk= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(396003)(39860400002)(376002)(451199021)(46966006)(40470700004)(36840700001)(316002)(40480700001)(81166007)(6666004)(36756003)(41300700001)(82310400005)(8936002)(47076005)(40460700003)(7406005)(7416002)(83380400001)(2616005)(54906003)(16526019)(186003)(336012)(426003)(26005)(82740400003)(356005)(1076003)(5660300002)(36860700001)(2906002)(70586007)(478600001)(70206006)(6916009)(4326008)(8676002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:31.6101 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9df2f4cd-d3fa-490a-a878-08db39f40aab 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: DM6NAM11FT038.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR12MB5425 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 Wed Feb 11 18:10:14 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 74D0EC77B71 for ; Mon, 10 Apr 2023 18:48:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230027AbjDJSs2 (ORCPT ); Mon, 10 Apr 2023 14:48:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230026AbjDJSsO (ORCPT ); Mon, 10 Apr 2023 14:48:14 -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 2DFEF270B; Mon, 10 Apr 2023 11:47:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jt/S79PW/t0okHyi13u1L72dcrGKfsO4SvEpuHG3G6jdavDh6pTuBVximRH+wEiDKJcoRNeYsA5/K7TzKL2g3sjNQwid5e846LHl9KbEjqlp0x2j6k4aKa7ktws3iuEZLxUrm+xc09YpUfh+1oWSLKB2/2MmTW8veziYEhaDM2aZ+jyFC1C/gvkjx2myRuBMkt6aTTxxdT6iJqfPJZ9ZMnbGINw36nFAjJBRc1fjj3WJvKB2c8OBay/IMdJpy/GY8PVAFgsmnTqF8kFBVeE3bPmrIieBqoSSfOVJk7UcxJwKC6lYvqOm9cM7ntxIEGxQ5NtBPaL4VWb1Szu9xGjNTg== 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=R5EG4U1XjNoIlZGxvUik9v/yKuomKYWiBdu12lJKPDUNzLfKZTRPuzrTGCm9FP8hh4B6AYF8Cwoo611RZjG4+L1688ayByncCqDoniHBMthZcbJmP/2Z+KudU7dxobchWdKNu50FuOe2qwMU7ubaSL/7HXXFdSNVv+zOS48mmPxlnfAAcrkq0JYNo4/goHL80IIiLA3g68l42ns4Faa+jGoAo5ic98xmYBawWFVrhmkg7ScMXd7n6LLtgbpNxB+hjynoR4UDIr95ZzxSA0tptPk6U5fl0P/8ys/0nB9t5pnTRnrT23gDnFSJ1ApaMK50oKKGt8OZisLh1vvliDu1JQ== 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=E8PGAL62vfNlX5VcOo/yooKWfUKQRQxgs3l1gbVu6Qt94YphGJSOwE0JIx6OxNn0q6M7FLzCdyYTosebrNmJ4njRVMw0ABq4YU1l3v0hg6hUdIKNulieO1pQD4OAtqWpzZHPT/MSysvGYskeOXFIfkk2G5TRvbtKDpb9TcrSAt8= Received: from DM6PR17CA0013.namprd17.prod.outlook.com (2603:10b6:5:1b3::26) by CY8PR12MB8243.namprd12.prod.outlook.com (2603:10b6:930:78::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.35; Mon, 10 Apr 2023 18:47:42 +0000 Received: from DM6NAM11FT064.eop-nam11.prod.protection.outlook.com (2603:10b6:5:1b3:cafe::b) by DM6PR17CA0013.outlook.office365.com (2603:10b6:5:1b3::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.34 via Frontend Transport; Mon, 10 Apr 2023 18:47:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT064.mail.protection.outlook.com (10.13.172.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.27 via Frontend Transport; Mon, 10 Apr 2023 18:47: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; Mon, 10 Apr 2023 13:47:38 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 12/15] mmc: sdhci-cadence: Support device specific init during probe Date: Mon, 10 Apr 2023 11:45:23 -0700 Message-ID: <20230410184526.15990-13-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT064:EE_|CY8PR12MB8243:EE_ X-MS-Office365-Filtering-Correlation-Id: 53fd39ac-ee87-47ac-d675-08db39f410cb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: StomrXiIKPYT3IzM8nNGaev4Q9WRoc0KfyF198hXnpWfSomz/hNbTq+Ria8QxMe2HdBc7O5Rs9c+LpZp02kuTdlBY3PIoWpQSKhvr7lnESQ2mNzZn6lZlP0Eu2f6SwdsW0znsQhAHIGk6OQWRbiMXhrSMRZRhZN+GE/yTjxzg4CYH/+rtVIaSPVy1+ResF4n5VSxns4VPmarFKch9+8rMKP78p2dUopIrP7mdfVLhqwJ/tvbqpxfjJ2hg4ulUlg6xaB+25a1mPaUrME7miowYcF/o1ArNa4uMB770zB6yoE1VqGuGr9Ctc5RnkMf9lVdcWc7Z6FhOxfWGJwBM/nfxGYVGm/kwbnF5rTWpxbldGHh3/siv/TOttLnV9lIE+pvPcn5Fm+gFm0Gj19DRuZOERls0UFG0Bvy8HjkiB2K5hC0CdUkq8pDpW4GYmP6vP4ZaVYXUmuv+1J2Mn7rI5wA7XoUxvMs7ribc1MVJP8BjmIpk38lrsVQ0eh3UedofEPl7Ec+Smg04sIqss2wLgN7//62hmE4j7rqCJ3Vr/1+3kEWO2oQ7w6tRSqWlsj386mmv39tzPuKiDZ3mV6LlPqq2YB8NOAyClsRCzn/MceDrvpFMM+14rora7Z3ms0twrAxWSWOTQtYdJLeRgZ29MGXsAjIMJSJsjVSj6693sGzgmv/JK1Uv7U1QW/8A81gr3BGDWrSVEpNDuh694pwIBSD7Nl29SUDdjUAcrvFjIHXNlw= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199021)(46966006)(36840700001)(40470700004)(478600001)(40480700001)(83380400001)(47076005)(36756003)(40460700003)(82740400003)(356005)(81166007)(36860700001)(2616005)(426003)(336012)(6666004)(2906002)(316002)(186003)(54906003)(16526019)(1076003)(26005)(7416002)(82310400005)(8936002)(8676002)(6916009)(41300700001)(5660300002)(70586007)(70206006)(4326008)(7406005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:41.8873 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53fd39ac-ee87-47ac-d675-08db39f410cb 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: DM6NAM11FT064.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8243 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 Wed Feb 11 18:10:14 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 11372C77B61 for ; Mon, 10 Apr 2023 18:48:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230063AbjDJSsc (ORCPT ); Mon, 10 Apr 2023 14:48:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229721AbjDJSsW (ORCPT ); Mon, 10 Apr 2023 14:48:22 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2052.outbound.protection.outlook.com [40.107.94.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6AFB22128; Mon, 10 Apr 2023 11:47:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nyDEclPRTC94lSkICdaEo89eZ8GTi1VVYId38EA3ssaiL+jX2wEvwr5IhMi7soxdoINKe8y8TVZzmODVOOhOCO2zBR9IIlDsjmpvjLwj/q1tab86SHzfdyqNxoUpaw6ZO74ImOYH9R0wWVqoLkwp2MLCJG0Ry5N2FofQAghwyQK6ozFmb2kt2IhU+ES2nQV8ttunNd07ZM0YCvo/BQziACJkVLRB00jCkyRZfw3IDh/x/Ps2Cpm0SLI0Rtjx7uJx7EB4Ic6AZIBjThOsM3j1Ct2NgZlPuBaokj65IB2jmO9+S4eWlqStKLKyhZDiq54hGW//CYchsHpc131X8dfHhQ== 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=Ya09CqokIksgvEDTvz2049aCEW8QiLjxhjKXDbEAz4I=; b=NOxOUkxZzFDzSr7OVaAELGbPmTNqQm1Jbk+/185rEze9lLWn69umS/mmCaRt4x+WNiQzZNrujj553vjc28P+Hb3sEyfMnFilCibvX4MXaZD5o2+5RxHgE7Aa+TkBivqaYoBmk5PDE711OpPEh6OjK4h5HPlPVmu0WKsi7OwVQUUBgVzeSVqL8oTb/woVe7cTAj9WpcfqLvScnMz0hJ7oNVGuaKV299otRpQnlIk8RA20lLxUvbHo1zCooOgJW1OQaE8Chj6cnOX/h+UyeiC9dPzr1oinQCcr9vtoN3cRFpwbzM7ZGCAdSXH8cTKQR9eknR92KKX2lfsC6hnCSKp8Lg== 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=Ya09CqokIksgvEDTvz2049aCEW8QiLjxhjKXDbEAz4I=; b=gidcR0PtAATO+NWC37IosyO3gYzUw+L3IHAOB5/9b93AvzxuWw4sb7i1OfaxLcD5+zJjeR0G/Sff2pOlBOtd7EUWw8cY4ef5f2Q0egCU3sajRYbZnwlgrnLcShDhciqujHY0B/oqUeL4P1X4znSM9zr4D0V9p+dkHxnGGxskc6s= Received: from DS7PR06CA0016.namprd06.prod.outlook.com (2603:10b6:8:2a::29) by DS7PR12MB5935.namprd12.prod.outlook.com (2603:10b6:8:7e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.33; Mon, 10 Apr 2023 18:47:50 +0000 Received: from DM6NAM11FT103.eop-nam11.prod.protection.outlook.com (2603:10b6:8:2a:cafe::3b) by DS7PR06CA0016.outlook.office365.com (2603:10b6:8:2a::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.39 via Frontend Transport; Mon, 10 Apr 2023 18:47:50 +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 DM6NAM11FT103.mail.protection.outlook.com (10.13.172.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.27 via Frontend Transport; Mon, 10 Apr 2023 18:47:49 +0000 Received: from platform-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 10 Apr 2023 13:47:46 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 13/15] mmc: sdhci-cadence: Add AMD Pensando Elba SoC support Date: Mon, 10 Apr 2023 11:45:24 -0700 Message-ID: <20230410184526.15990-14-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT103:EE_|DS7PR12MB5935:EE_ X-MS-Office365-Filtering-Correlation-Id: ac6a6a63-7dac-47e8-aa11-08db39f41594 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IGUCWk+08nxlOIEwIu1fPzjOSgQL84fHP1Q2OmEdr9IaSPRG0HGDLKyD/A4RrN85W2XgNln5u4dq2mYZ/120KgPSlOZIqbQIboJC3wu5F28RROCbMH4EZ/3mpPCD81XfWjRh7j3jqxlpKlkE9pr5Burag5CRzKCDHnTWQc1IcTwR2yUDzA8oLDgzkq9GVVbJCs2xDVMB8G1/uikFVcEdMPChXc2WBAP1vput8yq6uBueOO0TEFKeia7WJh1SpzhZFYYXfU+lq0xnBL06KNjqgzKhYyec2s42BpzNBEo7Q8dXEWNAKN+I+QM3egxAORu3mDQSAJMC6k3I5YaPlVh1UviRAQUvAsrnvTT2DGsjWE7Ph4Cw+i3KLLqZZkZzsRovYbOHWegBX9DO6b74ScFo/LcJ6VADUlniKhhwdVMaUcXqKEQgxDEiTWRIa+MR88HoljfF1GcSw8SjJ+d6VuonvpUhYAyrPZUzsV7a0St09kStlLoqDfvpIZ5Aqgcct3BKzZqKmTLY3HFYMjvOr+85mSftp5O8PxMNfRsoM9H6zodOQg1tlXEAO7FOS4GHRNKq5T4ds6atPRyBYlmHzOXtGij9L1WGhfbO2yQqSjg3KsiUS5EVXTeklk38B/VGM4xLVhDcuT06Ju2n+tiefe/O9f69Dav2pj/8JKtjcLPxvYVizODFpeo1J5GeKFAFrLdM8gGIKPhyAIQK/2eoy5XwqeImwf/exrMRfEkoZcEUhxc= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(136003)(346002)(376002)(451199021)(36840700001)(46966006)(40470700004)(40460700003)(6916009)(7416002)(8676002)(4326008)(70586007)(82310400005)(82740400003)(70206006)(2906002)(316002)(81166007)(356005)(36756003)(5660300002)(8936002)(41300700001)(36860700001)(478600001)(7406005)(40480700001)(54906003)(426003)(336012)(2616005)(1076003)(26005)(186003)(16526019)(6666004)(83380400001)(47076005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:49.9143 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ac6a6a63-7dac-47e8-aa11-08db39f41594 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: DM6NAM11FT103.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5935 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 --- v13 changes: - Use GENMASK(7, 3) in elba_priv_writel() to set all byte enables - Add a variable 'shift' with GENMASK(1, 0) in elba_write_w() and elba_write_b() to set the byte enable variable. =20 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 | 98 ++++++++++++++++++++++++++++++++ 2 files changed, 99 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..5d1e9cef74f5 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,91 @@ 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(GENMASK(7, 3), 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 shift =3D reg & GENMASK(1, 0); + unsigned long flags; + u32 byte_enables; + + byte_enables =3D GENMASK(1, 0) << shift; + 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 shift =3D reg & GENMASK(1, 0); + unsigned long flags; + u32 byte_enables; + + byte_enables =3D BIT(0) << shift; + 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 +424,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 +571,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 Wed Feb 11 18:10:14 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 98926C77B61 for ; Mon, 10 Apr 2023 18:49:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230056AbjDJSs7 (ORCPT ); Mon, 10 Apr 2023 14:48:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230046AbjDJSsu (ORCPT ); Mon, 10 Apr 2023 14:48:50 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2067.outbound.protection.outlook.com [40.107.223.67]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 15234211E; Mon, 10 Apr 2023 11:48:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iSZVzOuxE/LjJG5nNNKBwJ57y8xsXqGvt6rpy1Oj5ggHosNBWiquL3qUxLTbhnPIhbWLCzPsYYYPFRmzKVNgjkiK+kvdLz/ho+XBufs4/EE4p8R39ZioYwC/6nJy6ErFRxJANDEbg7SZiEIlh1M7g1qzNus/Ufii7/2D9eG6iBsr21FQ+1Ttie109gPjhDQfvtnChZnzuxu+1PLlYFQTlbeuwQ9LvE1t6HEyzrpXUr4rogD+WQJgx4bwgQkM2MNG0tMsbCeMbuclzwrQFokTQS+bW7xiABnS50hJvtJdwtlHRft5HnLK8bAV+/CGOdw9yPX6nRdx/5TTARpHdCtdNA== 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=x8af604fGrGhqJmMiT/sEtq9ScrZ/AIvFHD/37Ve6FM=; b=MfqfMbhbDGcjHo6c8pELolYox0AIAJOdTCtfumamhH9LIE8viA/SpZOllsytlB6DKmM9hQPR+/SYxmnhdKLsZak8QnILNh5V7dljSBZJbsPwaZ6S4DHWx6+8Mkg/6M3LkC3bNY/tN41H1H8+VUsawWXZWNsIDQiq/m+UL40ttESFGHW5SvIL5TswA8pr7HMIWRSIx0+M4P/spYag4mvX7eFO6SxRFmIJg48COoKOFMYXumA0PwRcAhvYBhXZQzWgRIve9smtddt+o7L0anAVyLc4SpV4j3cp3bzxRQwmwH+GxvhEto+NEZUnQol/1yrHiLcGy+iePVXTZJqY7dQddw== 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=x8af604fGrGhqJmMiT/sEtq9ScrZ/AIvFHD/37Ve6FM=; b=SU1OmXxWC+1CoNej0h0QRefoKF6Dp6f/Qs2yFcFH0N3LJYQdGjLME9tqBVyK8ZJRnXVvwGdPGJsYZcRqbAZLG4/hD5qiv1KLNStaiRqk2G73nWPEm+gtQNQV+O9BvYFmqSXkabet+lYgfPI+xs2NzlO25t04fOielmxmVIu7p0M= Received: from DS7PR03CA0040.namprd03.prod.outlook.com (2603:10b6:5:3b5::15) by IA1PR12MB8407.namprd12.prod.outlook.com (2603:10b6:208:3d9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.35; Mon, 10 Apr 2023 18:48:00 +0000 Received: from DM6NAM11FT075.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b5:cafe::86) by DS7PR03CA0040.outlook.office365.com (2603:10b6:5:3b5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.39 via Frontend Transport; Mon, 10 Apr 2023 18:47:59 +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 DM6NAM11FT075.mail.protection.outlook.com (10.13.173.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.25 via Frontend Transport; Mon, 10 Apr 2023 18:47:59 +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; Mon, 10 Apr 2023 13:47:56 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 14/15] mmc: sdhci-cadence: Support mmc hardware reset Date: Mon, 10 Apr 2023 11:45:25 -0700 Message-ID: <20230410184526.15990-15-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT075:EE_|IA1PR12MB8407:EE_ X-MS-Office365-Filtering-Correlation-Id: 1512a1ec-f36e-4c1e-dc27-08db39f41b88 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QV5bp0AFyEFucZB/TAbJ8o/aMA7+LGbBFQZasbN+3R5XSSm5Q5ZUJ/amMp5P3OCH8IpaSPCxTV8TTcSGjEwDVwPi/82LXGRAO/Q+hNMUoig3GmDMxbC1rcsCqO3OK0uxH43I/R8KwHIVwI6mHvqwJSC35tbXzt0tO6zfBrGkbWJT+Is7r+qCueHX94NpNwgjXP1GUvyHDUr4oQwwz/i1w5JPk8x0g3tEXsSYRfuJBngF3n0Jt/DbwxAaZdjDjm6RpVh4d3ItWkKHxgRZSLwHhWeTzG5jlFHFBrAdC43MHDx2gVg2pbEhWZcvGpCWubcOi8jxKc3v1RxtvHkPPDQCoxzkw25JIJEwP3jerKU7AHtbfoeU7tLoTRnpOTNsZviats4T+U02G1RvPC1gPfRaHMmvd/l1hdzd4DpJD1uCIEroskA4S2wSgFFXI/cl8LIqgdsMiuGsgYFXmuOhmE4jG/NMqyvwCiCk3eVn3xuYV2UlBB5rW/4+EZBPRstl9yMYHUKvvwLLrBuGMgDPf52Oy2NyH87dwqpXn4NQjwK59XKyCS5mBZYYsgTaGaOu4cBEFgurbVQNnA1l6y/BnfRaEslR+QrLzyIbXpGJxoPHaY7XFP5lEKf/RXn1Zj4ff3saK+duTfsQ4dwsZRoCFTyB+6vzF1eA6Ah4Uvx211b6pSAK4A37I7WfJZPxNjHX4aOeZLKy00PGKb3i1IrxScnYS2BWUoMk6WqvBW/H37XNfjs= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199021)(36840700001)(40470700004)(46966006)(478600001)(6666004)(16526019)(316002)(26005)(1076003)(186003)(54906003)(7416002)(2906002)(7406005)(70206006)(70586007)(6916009)(82310400005)(4326008)(8936002)(8676002)(41300700001)(5660300002)(356005)(81166007)(82740400003)(40480700001)(36756003)(40460700003)(47076005)(83380400001)(36860700001)(2616005)(336012)(426003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:47:59.8877 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1512a1ec-f36e-4c1e-dc27-08db39f41b88 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: DM6NAM11FT075.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8407 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 Reviewed-by: Philipp Zabel Reported-by: kernel test robot --- 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 5d1e9cef74f5..b24aa27da50c 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[]; }; @@ -457,6 +459,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; @@ -520,6 +538,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 Wed Feb 11 18:10:14 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 D3684C77B71 for ; Mon, 10 Apr 2023 18:50:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229503AbjDJSuF (ORCPT ); Mon, 10 Apr 2023 14:50:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57448 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229485AbjDJSuC (ORCPT ); Mon, 10 Apr 2023 14:50:02 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2061.outbound.protection.outlook.com [40.107.93.61]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 930DCDC; Mon, 10 Apr 2023 11:49:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GS1KpNrduri9ZDDHAvF4ZxohkecrNb8tI2LHfFrQ5nTOqoPn761xnOCaQWbZhMXeqVV1ZOWQpncuaE4R9JfhCJEf1tGI+K/Ykgp11MNHLwVLJDXRmZxuWUpDhTdBIJZtdAtZ5CxXQq5lHgnmTTVCeQ2RUwIxmcprAotZ3uiFnQSFGdEfJwdH4G1ScJBepjQ0OFpj7k7BSJRJeL1J0eTNp/eT5A/xNkGdcFQfcj8myUYeLey5JVD9Fx/MHZ7qf9iWdDjqQysl9Z+IVth5cO8LDF45a//JaLO2U8u8ZbfO4MAO1JSx6tdmEoo6cxhCis749fkqDkfjimXe3yxOg2hrqg== 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=0h44Zl9j/dIrJwYJCqJW/TClDVA+3EOCtpbngAJkdy8=; b=NyXlssWcAa1M7AnbgHP/5pgip7mEyiMlWUEqq1tgp7r0USrJlYXQUT7x24PhAwTToJq5FVuvxJqq+1HsLtsh0TwYnmfJ0uEOcLfIxc40+M+6AE0rMrR0sFzbmsLBWeB9foXt+BbtYGHeGT70Y9lEPpNJcW2LQAc1HHOaDGgfSporpqzXtgWSdwz7uT2jnPlDTTuIyGTJ9/Xql5sxtxUq7fPeiiPPQeI728zLoJwlLzD8opKXyrblEkLq20FdAVtHSLmk85V7ZJfkGOEcoEWTUAaZedXtrkLcHndzBlk7H5x1qoKWrudKyoEBP5IPKJ7yooofaVFMdy96uAAWY+7RTg== 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=0h44Zl9j/dIrJwYJCqJW/TClDVA+3EOCtpbngAJkdy8=; b=kWR5PYj0fsO4jMoxHslERU3vKP1BkXQOJbafE3KdSIDfOEoqJ87sTt037gUUg4OM5cytuQkAHJ64VqQiZD3NTRlmIYjtxrSUWPuDNZTBtmeL0+i0vYrdSdDvsEmHiB0MLWA1qoRkopKP69tWlvJd0QXweNpD3GB5MQcN0Bp097M= Received: from DM5PR07CA0057.namprd07.prod.outlook.com (2603:10b6:4:ad::22) by DS7PR12MB8419.namprd12.prod.outlook.com (2603:10b6:8:e9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.35; Mon, 10 Apr 2023 18:48:10 +0000 Received: from DM6NAM11FT085.eop-nam11.prod.protection.outlook.com (2603:10b6:4:ad:cafe::43) by DM5PR07CA0057.outlook.office365.com (2603:10b6:4:ad::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38 via Frontend Transport; Mon, 10 Apr 2023 18:48:10 +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 DM6NAM11FT085.mail.protection.outlook.com (10.13.172.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6298.26 via Frontend Transport; Mon, 10 Apr 2023 18:48:10 +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; Mon, 10 Apr 2023 13:48:06 -0500 From: Brad Larson To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v13 15/15] soc: amd: Add support for AMD Pensando SoC Controller Date: Mon, 10 Apr 2023 11:45:26 -0700 Message-ID: <20230410184526.15990-16-blarson@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230410184526.15990-1-blarson@amd.com> References: <20230410184526.15990-1-blarson@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT085:EE_|DS7PR12MB8419:EE_ X-MS-Office365-Filtering-Correlation-Id: 96715424-a04b-4e32-fab0-08db39f421e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XI3cSPkZRnVV35+dE1NbGKU9ueVrYwg+3mi/x1OEw6/JQLI7ea4ROjdtpdaWtU3lKm2RgtRzA+wJdfw33osP+1arYyw4N31f88Ynp68auxY1+qQ2+tluX8dJ8VtvdNKJbePy6gGCY4cJxCFQ2/lg3zgEVrzColBFIGnCwSBdk02M2vhQNq0+ZbJ7TN0oO/s/XCRnkbQaXGTg7laIr4B9Op/T3Vq/qUaIkpxDU6S4Y7P3BGjLhF43KttwhvANfsgc1Xr6q+5xmeqn0qwRfiVoRtld1PAujgR43pDqbghVFfa9TqD656v2AkoljpxZbZVYiRHwyTTp6ToXf6duSZqTFBS6OvAM3IwPq1gnXju1akO3yfuel8WQEh8PH2XfKxpCjvHZnxYF3gATMDY5OgcYfwmDobtldiGiZ2N1CMUVY6C+OlMfgKD1svBbCh/Y33A3OZ+b9tRrs7Uurf8B0G8PfEFPpKT3RQ64MRvlmhljCWkRHhdvGXMua9DkUaqKL4An+ARihhPzUbD91+ykgvRR9wCB5BZ8hDgxAQ0bf7rtB/fSr4NnOdGKG6FAPtlc+FimL6wncQn4m4nMgUr94VuH5vSUb4ZYHifnh/K29h/dkW4EGEMWaAverTngHgdRk/ey99W/MGp7F8OElcxjgPKPKnokm21TYCkRYxZJh5kMF7qbebw/2T33b4juEaoPNLyACU5LA/Cd1FioYAGDej/bZOmHnuM5Kp94omJ82UYx6kw= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(376002)(136003)(396003)(451199021)(36840700001)(46966006)(40470700004)(316002)(82310400005)(54906003)(356005)(36860700001)(82740400003)(81166007)(70586007)(8676002)(70206006)(478600001)(6916009)(4326008)(83380400001)(336012)(426003)(47076005)(2616005)(186003)(16526019)(41300700001)(36756003)(26005)(2906002)(1076003)(30864003)(40460700003)(40480700001)(8936002)(6666004)(5660300002)(7406005)(7416002)(966005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 18:48:10.5799 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 96715424-a04b-4e32-fab0-08db39f421e5 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: DM6NAM11FT085.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8419 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 --- v13 changes: - Update include list in pensando-ctrl.c - Change variable spi_dev to spi throughout - Removed unneeded variable initialization, simplification of=20 error checks, remove extra castings, and use dev_err_probe() - Sort the includes in amd-pensando-ctrl.h - Updates to cleanup if there is an error in penctrl_spi_probe() v12 changes: - Fix gcc-12.1.0 warning: 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 | 373 +++++++++++++++++++++++++ include/uapi/linux/amd-pensando-ctrl.h | 30 ++ 6 files changed, 423 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..011d5339d14e --- /dev/null +++ b/drivers/soc/amd/Kconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-only +menu "AMD Pensando SoC drivers" + +config AMD_PENSANDO_CTRL + tristate "AMD Pensando SoC Controller" + depends on SPI_MASTER=3Dy + depends on (ARCH_PENSANDO && OF) || COMPILE_TEST + default ARCH_PENSANDO + select REGMAP_SPI + select MFD_SYSCON + help + Enables AMD Pensando SoC controller device support. This is a SPI + attached companion device in all Pensando SoC board designs which + provides essential board control/status registers and management IO + support. +endmenu diff --git a/drivers/soc/amd/Makefile b/drivers/soc/amd/Makefile new file mode 100644 index 000000000000..a2de0424f68d --- /dev/null +++ b/drivers/soc/amd/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +obj-$(CONFIG_AMD_PENSANDO_CTRL) +=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..6e4066564684 --- /dev/null +++ b/drivers/soc/amd/pensando-ctrl.c @@ -0,0 +1,373 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * AMD Pensando SoC Controller + * + * Userspace interface and reset driver support for SPI connected Pensando= SoC + * controller device. This device is present in all Pensando SoC designs = and + * contains board control/status registers and management IO support. + * + * Copyright 2023 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct penctrl_device { + struct spi_device *spi; + 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) +{ + void __user *in_arg =3D (void __user *)arg; + struct penctrl_device *penctrl; + u8 tx_buf[PENCTRL_MAX_MSG_LEN]; + u8 rx_buf[PENCTRL_MAX_MSG_LEN]; + struct spi_transfer t[2] =3D {}; + struct penctrl_spi_xfer *msg; + struct spi_device *spi; + unsigned int num_msgs; + struct spi_message m; + 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(in_arg, _IOC_SIZE(cmd)); + else if (_IOC_DIR(cmd) & _IOC_WRITE) + ret =3D !access_ok(in_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 =3D spi_dev_get(penctrl->spi); + if (!spi) + return -ESHUTDOWN; + + /* Verify and prepare SPI message */ + size =3D _IOC_SIZE(cmd); + num_msgs =3D size / sizeof(struct penctrl_spi_xfer); + if (size =3D=3D 0 || size % sizeof(struct penctrl_spi_xfer)) { + ret =3D -EINVAL; + goto done; + } + msg =3D memdup_user((struct penctrl_spi_xfer *)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(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, &m); + mutex_unlock(&spi_lock); + + if (ret || (num_msgs =3D=3D 1)) + goto done; + + if (copy_to_user((void __user *)msg->rx_buf, rx_buf, msg->len)) + ret =3D -EFAULT; + +done: + spi_dev_put(spi); + return ret; +} + +static int penctrl_open(struct inode *inode, struct file *filp) +{ + struct spi_device *spi; + u8 current_cs; + + if (!penctrl) + return -ENODEV; + + filp->private_data =3D penctrl; + current_cs =3D iminor(inode); + spi =3D penctrl->spi; + spi->chip_select =3D current_cs; + spi->cs_gpiod =3D spi->controller->cs_gpiods[current_cs]; + spi_setup(spi); + return stream_open(inode, filp); +} + +static int penctrl_release(struct inode *inode, struct file *filp) +{ + filp->private_data =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 =3D penctrl->spi; + struct spi_transfer t[2] =3D {}; + 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 0; + t[0].tx_buf =3D txbuf; + t[0].len =3D 3; + + rxbuf[0] =3D 0; + 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, &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 =3D penctrl->spi; + struct spi_transfer t; + struct spi_message m; + u8 txbuf[4]; + + txbuf[0] =3D PENCTRL_SPI_CMD_REGWR; + txbuf[1] =3D reg; + txbuf[2] =3D val; + txbuf[3] =3D 0; + + t.tx_buf =3D txbuf; + t.len =3D 4; + spi_message_init_with_transfers(&m, &t, 1); + return spi_sync(spi, &m); +} + +static int penctrl_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct penctrl_device *penctrl =3D + container_of(rcdev, struct penctrl_device, rcdev); + struct spi_device *spi =3D penctrl->spi; + unsigned int val; + int ret; + + mutex_lock(&spi_lock); + spi->chip_select =3D 0; + spi->cs_gpiod =3D spi->controller->cs_gpiods[0]; + spi_setup(spi); + ret =3D penctrl_regs_read(penctrl, PENCTRL_REG_CTRL0, &val); + if (ret) { + dev_err(&spi->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, "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 =3D penctrl->spi; + unsigned int val; + int ret; + + mutex_lock(&spi_lock); + spi->chip_select =3D 0; + spi->cs_gpiod =3D spi->controller->cs_gpiods[0]; + spi_setup(spi); + ret =3D penctrl_regs_read(penctrl, PENCTRL_REG_CTRL0, &val); + if (ret) { + dev_err(&spi->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, "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) +{ + struct device *dev; + struct cdev *cdev; + u32 num_cs; + int ret; + u32 cs; + + ret =3D device_property_read_u32(spi->dev.parent, "num-cs", &num_cs); + if (ret) + return dev_err_probe(&spi->dev, ret, + "number of chip-selects not defined\n"); + + ret =3D alloc_chrdev_region(&penctrl_devt, 0, num_cs, "penctrl"); + if (ret) + return dev_err_probe(&spi->dev, ret, + "failed to alloc chrdev region\n"); + + penctrl_class =3D class_create(THIS_MODULE, "penctrl"); + if (IS_ERR(penctrl_class)) { + ret =3D dev_err_probe(&spi->dev, PTR_ERR(penctrl_class), + "failed to create class\n"); + goto unregister_chrdev; + } + + cdev =3D cdev_alloc(); + if (!cdev) { + ret =3D dev_err_probe(&spi->dev, -ENOMEM, + "allocation of cdev failed\n"); + goto destroy_class; + } + cdev->owner =3D THIS_MODULE; + cdev_init(cdev, &penctrl_fops); + + ret =3D cdev_add(cdev, penctrl_devt, num_cs); + if (ret) { + ret =3D dev_err_probe(&spi->dev, ret, + "register of cdev failed\n"); + goto free_cdev; + } + + /* Allocate driver data */ + penctrl =3D kzalloc(sizeof(*penctrl), GFP_KERNEL); + if (!penctrl) { + ret =3D -ENOMEM; + goto free_cdev; + } + penctrl->spi =3D spi; + 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, + MKDEV(MAJOR(penctrl_devt), cs), + penctrl, + "penctrl0.%d", + cs); + if (IS_ERR(dev)) { + ret =3D dev_err_probe(&spi->dev, PTR_ERR(dev), + "error creating device\n"); + goto destroy_device; + } + dev_dbg(&spi->dev, "created device major %u, minor %d\n", + MAJOR(penctrl_devt), cs); + } + + /* Register emmc hardware reset */ + penctrl->rcdev.nr_resets =3D 1; + penctrl->rcdev.owner =3D THIS_MODULE; + penctrl->rcdev.dev =3D &spi->dev; + penctrl->rcdev.ops =3D &penctrl_reset_ops; + penctrl->rcdev.of_node =3D spi->dev.of_node; + device_set_node(&spi->dev, dev_fwnode(dev)); + + ret =3D reset_controller_register(&penctrl->rcdev); + if (ret) + return dev_err_probe(&spi->dev, ret, + "failed to register reset controller\n"); + return 0; + +destroy_device: + for (cs =3D 0; cs < num_cs; cs++) + device_destroy(penctrl_class, MKDEV(MAJOR(penctrl_devt), cs)); + kfree(penctrl); +free_cdev: + cdev_del(cdev); +destroy_class: + class_destroy(penctrl_class); +unregister_chrdev: + unregister_chrdev(MAJOR(penctrl_devt), "penctrl"); + + 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..2508a1aef22c --- /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