From patchwork Fri Feb 4 10:29:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krishna Yarlagadda X-Patchwork-Id: 540026 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 283EFC433FE for ; Fri, 4 Feb 2022 10:30:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357171AbiBDKaF (ORCPT ); Fri, 4 Feb 2022 05:30:05 -0500 Received: from mail-bn8nam11on2060.outbound.protection.outlook.com ([40.107.236.60]:41426 "EHLO NAM11-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1351410AbiBDKaE (ORCPT ); Fri, 4 Feb 2022 05:30:04 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NZQRfrvwYhQq8yZBXG1605j6FRDTCo8Nz3sIZdR4BI2rqgvWhVUVi54lqtL/wx794B3MPeikWfN2ZcwRJkr4izC4WrJTPiJscNM74ZhFFVah48t1mVUeAgpIISCkyCASkL+RbhbadpLO+FmQa05sKR5CUvgjlkpk528VTA5wKC8O2GhvHuR0dxRD5ieJu4RbiQNaOUaTvVgBlQlsy1BpIPK1B+/pTJevH4N9qaGfbijGrdnhmdWOxejTkaGeaMUVxEe8G7p3utEZ4hg7mJdJM6xaThoGJZ16xw3JXfJHui8fhgXHqbtVFdbZcfoSAD8bUNPAadUHZFZ3h+lshBpVqA== 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=lUQf8IblCJ+Pa2FEoFENqD+0YNJ2N/b82T9uDK/G8Oc=; b=Zp3h/8ny1qfjQK/mwOrPTcDcXpflgtIzY8UDXUSkERPqNYWDHCwwe0lH8WwNBcf9E9NFBaWTsoHjRMReyfLswTKo1eHq29pC4Zcq4510NtykzqwIleizkSPGrECTsEtplzzEZrK9NPquweAO7N6W9fV/vMIuqO8flfifNzgTcQI/FGHPOQbUiggzqStHYlBO5AQctTBSnYg0ckXYYbIdB9g6o1LIppjT2S4oXz8LcsfFEB8/EuQYwzX3AFXWzWjjVa/t38icjppbH9Mx8ceMDpeGrV6Etmlcfx7Imv3P0fgQS9/ZQfoTmk/0/HldOik38VKGXyPVSjLtem+vX95U5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lUQf8IblCJ+Pa2FEoFENqD+0YNJ2N/b82T9uDK/G8Oc=; b=ZXuMtL42zM0myZfp6tGfz4V20N5ow/ErhR0YeFR5bLb6DO1RbUEXK8ojsyoP1p6TXm/LK9l+wv428UzLD4uj8jrEUPUhfOM2WlXSAMlU2kykRqVM/Q5Bv3wEjP8QPZdEVsONb/Hu+fVuxUiH6pcz4iDOidbU53/xgB80USXECCaoLYm+q7NfZJf4WNsfrbpV5BoiuVUlE3mWdx5qO2XX4C1wWUCAmyFJNuPEfaHCQTSLSCmSvAEecqm8UYRpE7GatOycYArYJCewqD+sL8vtzOaBRjTcOD3wmXldOfIT2nHD0yJSu0R8eW04zJPFwZFNLaggUQz9QuOqNGn58fyQrQ== Received: from BN1PR14CA0008.namprd14.prod.outlook.com (2603:10b6:408:e3::13) by BN6PR12MB1378.namprd12.prod.outlook.com (2603:10b6:404:1e::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.11; Fri, 4 Feb 2022 10:30:02 +0000 Received: from BN8NAM11FT034.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e3:cafe::56) by BN1PR14CA0008.outlook.office365.com (2603:10b6:408:e3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.236) by BN8NAM11FT034.mail.protection.outlook.com (10.13.176.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:01 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 4 Feb 2022 10:29:59 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Fri, 4 Feb 2022 02:29:58 -0800 Received: from kyarlagadda-linux.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.9 via Frontend Transport; Fri, 4 Feb 2022 02:29:55 -0800 From: Krishna Yarlagadda To: , , , , CC: , , , , , , Krishna Yarlagadda Subject: [PATCH 1/6] spi: tegra210-quad: use device_reset method Date: Fri, 4 Feb 2022 15:59:31 +0530 Message-ID: <1643970576-31503-2-git-send-email-kyarlagadda@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> References: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07a09475-0867-44f9-880d-08d9e7c94d24 X-MS-TrafficTypeDiagnostic: BN6PR12MB1378:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1107; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: o1e2U3ZBnLVGj9z+E+FNB8Qm8jCDOd3U+7ieLSaZpjCzedODPsLI6nAtJdcHKT9v49v5VwPIjUq0xw/MpRBPLa7vlleY1MpnL9pq6B1mpHU5eI1U2HQTG2IyEDRuUl/pbSkoZwk3h10VBUjUAnKDq6bEKjOgpVzijFSkQi0z6dIVtD9P6Acd2A5BTgbkXuhkZ7IkbLIU4xgCSaYfcVwnosMFPZI66ZtF1wXmtuOoQy46xc9F4L2cudYiFtD9iuw1kp2SU90j8hDt/xD6nQ+h1kqUpqX0UmLEtR6Q1fvlilJIOcBdCUbcN15lBf42I5roVq4H7TNQMnB4OvTpc7EF6qa3CRdJvl8Rio9zdzAzQwM4M/cc0zj8llN6oJTDaS3BvrVuAI4MSVfg2llxqTk4eUGCVMGAMc71bCAuuq06DNyV/HhGygdasohpKHyODSwfCt+FzqHSbdeLazMIP+CiIB9cKTZYc7ISzb74NiclbKjqAQLtztjg1QTTg7Swn131+eHrSZH/O07ukdke+T/SfrYvJYgxr9xX6DV6SOIpgMgvUCvqaa4KIkTg+lvb0l7hY8M4sz9kThun425rbWgUQbXVCeYKLOJkX1/JPXyqrNTYNcZM359VMxaWhTnhD86WiUNY+HMZYFbNgeddrwKTLeZh0r3dUJnjhLNwO+IKIi8AUh2ImfBSaP0bP6GB0LMm6y2CsrQYeG83Z63b3TLRHw== X-Forefront-Antispam-Report: CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(46966006)(40470700004)(86362001)(82310400004)(40460700003)(356005)(70206006)(8936002)(8676002)(4326008)(70586007)(316002)(110136005)(54906003)(81166007)(5660300002)(7696005)(107886003)(36860700001)(83380400001)(47076005)(508600001)(2616005)(6666004)(336012)(186003)(26005)(426003)(36756003)(2906002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 10:30:01.6599 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 07a09475-0867-44f9-880d-08d9e7c94d24 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.236]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT034.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1378 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Use device_reset api to replace duplicate code in driver to call reset_control_get api with reset handle. Signed-off-by: Krishna Yarlagadda --- drivers/spi/spi-tegra210-quad.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/spi/spi-tegra210-quad.c b/drivers/spi/spi-tegra210-quad.c index ce1bdb4..ef93e40 100644 --- a/drivers/spi/spi-tegra210-quad.c +++ b/drivers/spi/spi-tegra210-quad.c @@ -137,7 +137,6 @@ struct tegra_qspi { spinlock_t lock; struct clk *clk; - struct reset_control *rst; void __iomem *base; phys_addr_t phys; unsigned int irq; @@ -948,9 +947,7 @@ static void tegra_qspi_handle_error(struct tegra_qspi *tqspi) dev_err(tqspi->dev, "error in transfer, fifo status 0x%08x\n", tqspi->status_reg); tegra_qspi_dump_regs(tqspi); tegra_qspi_flush_fifos(tqspi, true); - reset_control_assert(tqspi->rst); - udelay(2); - reset_control_deassert(tqspi->rst); + device_reset(tqspi->dev); } static void tegra_qspi_transfer_end(struct spi_device *spi) @@ -1249,13 +1246,6 @@ static int tegra_qspi_probe(struct platform_device *pdev) return ret; } - tqspi->rst = devm_reset_control_get_exclusive(&pdev->dev, NULL); - if (IS_ERR(tqspi->rst)) { - ret = PTR_ERR(tqspi->rst); - dev_err(&pdev->dev, "failed to get reset control: %d\n", ret); - return ret; - } - tqspi->max_buf_size = QSPI_FIFO_DEPTH << 2; tqspi->dma_buf_size = DEFAULT_QSPI_DMA_BUF_LEN; @@ -1277,9 +1267,7 @@ static int tegra_qspi_probe(struct platform_device *pdev) goto exit_pm_disable; } - reset_control_assert(tqspi->rst); - udelay(2); - reset_control_deassert(tqspi->rst); + device_reset(tqspi->dev); tqspi->def_command1_reg = QSPI_M_S | QSPI_CS_SW_HW | QSPI_CS_SW_VAL; tegra_qspi_writel(tqspi, tqspi->def_command1_reg, QSPI_COMMAND1); From patchwork Fri Feb 4 10:29:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krishna Yarlagadda X-Patchwork-Id: 540275 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 59ABFC433F5 for ; Fri, 4 Feb 2022 10:31:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234820AbiBDKbJ (ORCPT ); Fri, 4 Feb 2022 05:31:09 -0500 Received: from mail-bn8nam12on2071.outbound.protection.outlook.com ([40.107.237.71]:1185 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S234458AbiBDKbI (ORCPT ); Fri, 4 Feb 2022 05:31:08 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ef+Bkqts1LGrlKFbkNT0qriR8upD3czkXvlo9j7HTVOsYzG45UxFdVlCGq7E1Aut1FSr6acCNE0bzBoNWPmwTbqhJIA+Q3eX3ocMaHjlmdUL1MHL/a40v+o5EkzVs0A/zZ/8GCtemzBVgrAlGpfZg8UZcwuyWo/3Mf5cP7IyUJtxE8gV6kXiRa3zChA3AbBkB1PHq1IT+U32nSl/jnyfMVNNFyRt0qNqDNq4u97SHP+0ICbbpaUpwaqS+a/0dEB8wpiSodsASWsfcHZMlSvAs1TFBumWD1JEV6CMl3OL7vzLWHzzKsKjh2JYxKZr6WHKGiaR7ToTqHJ8t4W8MoN5zg== 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=YTQBL31gW3bilk2wXMlm10E0vy05SBm3Qn7ePLaT90U=; b=J7mLL/W+ZdMoub5b044hUd1okIGGgf2gVI5m3gu2orsw03qcN98Q8SH1ZBEfXhYMdKEaV3ktYprTbmhd7FvkdMX4n2UPAoiAarGmv2zf6ezY6PNKDiqrvSwLjnD1xPpZgZdZ185h8N39mTbxfCOeP3jfYz852DMISfxf81t7ubK4jZRoNj2lu3+6OMZ8SOXlfHxK79WGydxS4DtgMaJPF6TzjGxWT2vA1JmVeTs/ffHf2Zbq7R9PsfvXZbcx3xY9PcWQaZVLIjrDbjlfaVoSFhOMYgUQTNb3E8ahNBT++UIoCj9h+ApZ+njltfsy2RwjwYrJyqocAIA3e13nrTpRTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.238) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YTQBL31gW3bilk2wXMlm10E0vy05SBm3Qn7ePLaT90U=; b=XDnM+zoJzTPy2czYGOCtTOOJQI4US8nSwow+SRHtnolEeWC+QnmM2oX7a+8NjBYTtpdEJnSY9w41O5na/cd/NTo6Sf4c/5ayb7MZPbqdieP6LBqMJ8X1N0U0VgYuuVFt4+2buYSpFFaViaKWdMOc0YXoewPmHoYfoJDNpm8FisCZW1xbWUenGK/wU3gwwCo/hT7Claxh+GOR/nGXGUj2F8yqnv9XLDhTAOFWFXvkVlDopQPBiATuhgaF/usICpfC3nRqkYjkKo6hHm7mpN85qR9z80hZJMs4mnmNH4c9d+PkCAgo2PcqEv0Yh21fLXIKdbgXt8S0liHfIJNTAfqTFQ== Received: from BN6PR20CA0052.namprd20.prod.outlook.com (2603:10b6:404:151::14) by DM6PR12MB4353.namprd12.prod.outlook.com (2603:10b6:5:2a6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 10:31:07 +0000 Received: from BN8NAM11FT028.eop-nam11.prod.protection.outlook.com (2603:10b6:404:151:cafe::7b) by BN6PR20CA0052.outlook.office365.com (2603:10b6:404:151::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.17 via Frontend Transport; Fri, 4 Feb 2022 10:31:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.238) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.238 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.238; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.238) by BN8NAM11FT028.mail.protection.outlook.com (10.13.176.225) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:31:06 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL105.nvidia.com (10.27.9.14) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 4 Feb 2022 10:30:03 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Fri, 4 Feb 2022 02:30:03 -0800 Received: from kyarlagadda-linux.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.9 via Frontend Transport; Fri, 4 Feb 2022 02:29:59 -0800 From: Krishna Yarlagadda To: , , , , CC: , , , , , , Krishna Yarlagadda Subject: [PATCH 2/6] dt-bindings: spi: Tegra234 QUAD SPI compatible Date: Fri, 4 Feb 2022 15:59:32 +0530 Message-ID: <1643970576-31503-3-git-send-email-kyarlagadda@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> References: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e9deb210-fb1f-4c42-99e5-08d9e7c973f2 X-MS-TrafficTypeDiagnostic: DM6PR12MB4353:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1079; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9oiTcnei9Sr4B/qDcswvB7gY4cjYevEa4tfPMbnNZGJcVq1b3gBxU3+JQJlfwHPEz9wIOkbL1B8h7fFiLVfziBmALJmHXV+GaDvhJKGMpZM0HvuNBveCd2ZmLN16gqcGcisC3r54/SiUsCKB4DfrgyJxWXKlaAhALuNMff5vDBLKjisnk8XW5YMpFw+5bdiJQ1svAer//0a8B29ZoJbrOUTO7+uUwUY2HRFQXGJAOiA+qnLm9bFczUm7SC8DHFCKV/Bfa64vbEbMUrXSXcBDDBsphb3C/R4leDVtE1LwjSTR4J9Bnxt43IztUGPbhtmFioopy4RhekDFK+FK7CsrUgvIzXrSTstDWt9MmPH9Y3+6p+8wPwy2+2ooFQ1/c/umGfIzn+ly/Vxd/OtSqpilXrGstgZD9ZjyzlrqtHeBU++gfUtle3TkRxu0BLcCChJUVvi0pm6pHQyMJtJMco6VMUIuFouZClj3eQVe+UFGqj30+qDxr8mfMZcU016xAg/Zvfgy466N/KfgkWKzgUoydlxF56GmV4RGq3ntPi6B+8/JcFXVl0lIACfWoaU484kp+KYnKZBYm4SpLxCnIPrMDgEGHqvwegeP6n7s01b5ftDnVq7DZZs3boYnbmUaOrOujRZsn3qDBONfLX6JNd8chsCWQu/pMLLkRTbsVLz5NU97A+ihJp3sEOn5apcqjqhbvHwo4P4CsH0G6AscCKAQxQ== X-Forefront-Antispam-Report: CIP:12.22.5.238; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(46966006)(40470700004)(36840700001)(86362001)(82310400004)(40460700003)(356005)(54906003)(70206006)(8936002)(8676002)(4326008)(70586007)(316002)(110136005)(81166007)(5660300002)(4744005)(7696005)(36860700001)(107886003)(47076005)(508600001)(2616005)(6666004)(186003)(26005)(336012)(426003)(36756003)(2906002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 10:31:06.7638 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e9deb210-fb1f-4c42-99e5-08d9e7c973f2 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.238]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT028.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4353 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add compatible string for Tegra234 for Tegra QUAD SPI Signed-off-by: Krishna Yarlagadda --- Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml index 35a8045..6efea89 100644 --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml @@ -19,6 +19,7 @@ properties: - nvidia,tegra210-qspi - nvidia,tegra186-qspi - nvidia,tegra194-qspi + - nvidia,tegra234-qspi reg: maxItems: 1 From patchwork Fri Feb 4 10:29:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krishna Yarlagadda X-Patchwork-Id: 540277 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 44B17C433F5 for ; Fri, 4 Feb 2022 10:30:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357414AbiBDKaQ (ORCPT ); Fri, 4 Feb 2022 05:30:16 -0500 Received: from mail-bn8nam11on2045.outbound.protection.outlook.com ([40.107.236.45]:49377 "EHLO NAM11-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1357542AbiBDKaN (ORCPT ); Fri, 4 Feb 2022 05:30:13 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CfJ68Crd+ZafXksX3nyihzgZo5w/Iuo3i24dLL/b2zC/kiYf5XyFJJwCTzgxbj4lxRH0b/VxHRZm3JklstB5Ih3I+zAZJd5E0lYQQfB8EAC11//ILXFaOvF4q6jdgBwCvpabbfAu1raeOpQaKjR4rq8rOVVQWhRAXBnbirzMwKjxeoGpyooB2cQWqr39j/YuYUDav3Zoi+5BuI0a/B+iqAyzul5fbeDCfDttlECgjJm3TmKDS+lDvnPGeVSeJBw/MgdSE3noFD9tiUbF/lpHvm8OQEbHKbwakKvqrs0rg75rPGxzlRbdjxI0xz91Ji0lYjUUeZIyaCj1O2H98ufXXQ== 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=LuKk3xQhUAkfjIcMlnA9pOqw9tDtdGWLi77f8njxZnA=; b=k/MII4igo1YKbdQrAe4m/NBF0amuGtHBxKDzoIKRCYnmGN3LHvNDePFozyYtDh/I/PaLqosL1bWp/DypKVo6aAihUODZ4JAptafnUcXZ+MbHqojmCdxHSLW2ZA41EsJmugkriTSVpYfxVk6eMOtefg5izrhLphqjR6uQoOfm1LU3fbruAe923rBm/r4OVehMo7mY0WY5TQ9g6iGdy0WvSUGtVkjwIjbZ0r3ALG3sKjRS/p8qEewH/8jCH9+2ksuW8kQPQSDaM9yH+VmJMqBtz721f3HCd8RanEpBenefSqeTRxaq9AH+5f0hGZOLVGcmVmMJH8DE5SzFCPR0fEvHKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LuKk3xQhUAkfjIcMlnA9pOqw9tDtdGWLi77f8njxZnA=; b=dIte0HmCurboDxo5GhvbQeuIUTzYz10qIxPp7liGEZlP4wLGjdIUnPHeHW5YOT+dGYL5g/yDSkQR606dPP/Z1bIYP6tGWwURQ/GXWE8GTEKc9Yb8fR8E21l/mQmTHFVAsufyMoRRLmbCxdDtMwfVC7RER6BgZQ+Jn9papOVWahq0AM9hiHU3x7AxUPTShQEtqn+ns4pl5tTMkvHZixP21YZEybuPY31CXzQzJQctFIvchns39C2pbHiVZJDXcrEQEfM1pXmtTS1GRfTVt3BHOytWqY8OwZDWNBeoWpbePoO/bNryuUfsK1ZWXOPhNNS7tOEYTyUFPowRFnbV1kf5ig== Received: from BN0PR04CA0145.namprd04.prod.outlook.com (2603:10b6:408:ed::30) by MN2PR12MB3743.namprd12.prod.outlook.com (2603:10b6:208:168::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 4 Feb 2022 10:30:11 +0000 Received: from BN8NAM11FT034.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ed:cafe::35) by BN0PR04CA0145.outlook.office365.com (2603:10b6:408:ed::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.11 via Frontend Transport; Fri, 4 Feb 2022 10:30:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.236) by BN8NAM11FT034.mail.protection.outlook.com (10.13.176.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:11 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 4 Feb 2022 10:30:07 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Fri, 4 Feb 2022 02:30:07 -0800 Received: from kyarlagadda-linux.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.9 via Frontend Transport; Fri, 4 Feb 2022 02:30:03 -0800 From: Krishna Yarlagadda To: , , , , CC: , , , , , , Krishna Yarlagadda Subject: [PATCH 3/6] spi: tegra210-quad: add new chips to compatible Date: Fri, 4 Feb 2022 15:59:33 +0530 Message-ID: <1643970576-31503-4-git-send-email-kyarlagadda@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> References: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bbc69843-614c-49c8-2ee9-08d9e7c952d5 X-MS-TrafficTypeDiagnostic: MN2PR12MB3743:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2089; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yg6wrAuvzj62svD3iUDSlfy8xzljxw6odmcux2oAFJvnEeDupfAxIZtOyx9fOKrIm6TKFSU4OaH/9gXwQQ3f0xWrMtbKdk+lw/a6JBYhnVZwvXnEW+RW6CBq91GfIr7c952lijrsen/onNsVn/WjKiDmBmc/C3zRSBG6TZRD1mw9Lyx+WcF/He05D2VfO+wOMmuRNLJaBLaZqoKacQxRbCkheHxcpVpHllfvebRPuj8Tjqf2eMupdK2RJeVC7W92nLMqzDdrZCksHUgfaSBC2ABFlcDyhuTve5yWzJHHgBhu999y3U6hisqOyIWj96MgTc8hF2z4w09j8Sf7GbRPM3SXN4M2z0A+qDok3GH3oN+ier64CVNgQtp2SY3ODj4yksb2Ydw4WHmQOLhvxmQRLRWWxQXOz/MtwD4dn+HvKp67S3kI2sVJ/r4mfp2/PVXyz8yvw78qeCMtsQkA/dhKjUgEfJdljXPu/5dpmOOPVkXOn+vMINlCiEhMyi7lp1oolY8JdXFVWNWS3R2JBVM8nLNM1fRYPHUSyPG7JNAQCt7JTdrhN6O4Hsmp+rMWeCuVyVsSukGqDQm+WqR0+QRJ3qsZB5fxB+23xwMBQwcEgN+c8EdSloQfKUZG/NNMVNDxtS76g1gmhNMet4B/0S0rmCbgh23MU1mrZCnKwZFurACv7TrctOfk1ZH6Cay/7yrlYrRZiHkKxwhrpRvF3cfaOA== X-Forefront-Antispam-Report: CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(110136005)(8676002)(8936002)(40460700003)(54906003)(4326008)(47076005)(70206006)(70586007)(82310400004)(316002)(36860700001)(2906002)(508600001)(86362001)(356005)(6666004)(81166007)(7696005)(83380400001)(5660300002)(186003)(336012)(426003)(26005)(2616005)(107886003)(36756003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 10:30:11.1906 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bbc69843-614c-49c8-2ee9-08d9e7c952d5 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.236]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT034.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3743 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add support for Tegra234 and soc data to select capabilities. Signed-off-by: Krishna Yarlagadda --- drivers/spi/spi-tegra210-quad.c | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-tegra210-quad.c b/drivers/spi/spi-tegra210-quad.c index ef93e40..2e5f20c 100644 --- a/drivers/spi/spi-tegra210-quad.c +++ b/drivers/spi/spi-tegra210-quad.c @@ -125,6 +125,10 @@ #define QSPI_DMA_TIMEOUT (msecs_to_jiffies(1000)) #define DEFAULT_QSPI_DMA_BUF_LEN (64 * 1024) +struct tegra_qspi_soc_data { + bool has_dma; +}; + struct tegra_qspi_client_data { int tx_clk_tap_delay; int rx_clk_tap_delay; @@ -184,6 +188,7 @@ struct tegra_qspi { u32 *tx_dma_buf; dma_addr_t tx_dma_phys; struct dma_async_tx_descriptor *tx_dma_desc; + const struct tegra_qspi_soc_data *soc_data; }; static inline u32 tegra_qspi_readl(struct tegra_qspi *tqspi, unsigned long offset) @@ -1190,10 +1195,32 @@ static irqreturn_t tegra_qspi_isr_thread(int irq, void *context_data) return handle_dma_based_xfer(tqspi); } +static struct tegra_qspi_soc_data tegra210_qspi_soc_data = { + .has_dma = true, +}; + +static struct tegra_qspi_soc_data tegra186_qspi_soc_data = { + .has_dma = true, +}; + +static struct tegra_qspi_soc_data tegra234_qspi_soc_data = { + .has_dma = false, +}; + static const struct of_device_id tegra_qspi_of_match[] = { - { .compatible = "nvidia,tegra210-qspi", }, - { .compatible = "nvidia,tegra186-qspi", }, - { .compatible = "nvidia,tegra194-qspi", }, + { + .compatible = "nvidia,tegra210-qspi", + .data = &tegra210_qspi_soc_data, + }, { + .compatible = "nvidia,tegra186-qspi", + .data = &tegra186_qspi_soc_data, + }, { + .compatible = "nvidia,tegra194-qspi", + .data = &tegra186_qspi_soc_data, + }, { + .compatible = "nvidia,tegra234-qspi", + .data = &tegra234_qspi_soc_data, + }, {} }; From patchwork Fri Feb 4 10:29:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krishna Yarlagadda X-Patchwork-Id: 540025 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 09264C43219 for ; Fri, 4 Feb 2022 10:30:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357322AbiBDKaR (ORCPT ); Fri, 4 Feb 2022 05:30:17 -0500 Received: from mail-sn1anam02on2056.outbound.protection.outlook.com ([40.107.96.56]:34145 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1357331AbiBDKaQ (ORCPT ); Fri, 4 Feb 2022 05:30:16 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JJ2+iia4wSdy39gmdIkFtz3vCm8BzNoi/jeZO2YWq7eobGiTT7mXfvXa1eVLOIv4uLrikH8M7Q5Ak8aKnRCef9ijZS3KrLIvrBjRIyaksO5/Sp9NAdgU2Ipc6GyGHhgBmI9hyMuwkXRujyXq+Ge1n/Sgi8n0UHc972sEaX7pvoLVxNh4oELN2J7wBD/Pp7aJO0JKY1OyfveydZcMO04iwFyLVYxOeBYzHzlk53J14Lfnof8dJAvxckBhy5ZDjGA9NhAn/TKRpxMaNRzes8vIQ65eqvRnSkwAuq9FRC/z3LiTNYtBvzcdpQ30KK4UTa+NbQND7+l3NwttK8PkhDCbtg== 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=LTQonPq69Wos/4IT02D08IgAIBtysfhuEKobaoxMlus=; b=cXn027P2aRg2KL1DtNkELdejRbKsuRFoZ2DSExjLBrClHtYJ0So3PYSJfckjwxy465Zs3bTZAeAIGoWt8EIec4bxgfiWCZpOfZ3Re06vP0YAdgtoeBUtRz840bYKp3/gTQutwoDDx97+LCO0mwNnYrO0kWvEsWZe9d0JoCNVbddBWFP4vWKI7VDq0iBDw8jgn2GSJ30fNOGLbAMdDeYvEemv7tKY11ry8uOLj2yHl69GH5yZyAWXp97QvJ6AgpbeMFheoZL0vDFhsNv11dNVLkJtH+gWNtv8Bwouz2R/QDu8eRGBJiZnUuZIueyoLf+GhUXBNqOUDvGRKeID42ZB1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LTQonPq69Wos/4IT02D08IgAIBtysfhuEKobaoxMlus=; b=OdvtfH04FyQVl1NxSit+ojWfVv5H9f1JvBZLRTDfzzGc5gYAGqtliudf/6gqvBMY1RBGmf5MhmKjXCQpZrHm3ZEpKivcwbRwEGF4U0HQd1Hn2xf3nccCZmhY8DPl8Nr1neTNHEYBSXwZspymPcS9TzwnpmHWos5espM0VDoJ3IyeyjKmpwEm2JmnBvNuoOFzr42Srh+Bk8QFiIP9PtRjIHnF7RiE5kFZH1qdbo2uE/KZvWKwv/Fvj8VCdV0mzigHh8p70Ssn0W9JRffEkJyu5LkKQgb9Ts+TXHRixnR3UkoRtCuA2iYtT+hT3SZbS8+wY+magtIJWHFrQRDQtNjfXQ== Received: from DS7PR03CA0045.namprd03.prod.outlook.com (2603:10b6:5:3b5::20) by DM6PR12MB4942.namprd12.prod.outlook.com (2603:10b6:5:1be::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 10:30:14 +0000 Received: from DM6NAM11FT022.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b5:cafe::8e) by DS7PR03CA0045.outlook.office365.com (2603:10b6:5:3b5::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.235) by DM6NAM11FT022.mail.protection.outlook.com (10.13.172.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:14 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 4 Feb 2022 10:30:12 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Fri, 4 Feb 2022 02:30:11 -0800 Received: from kyarlagadda-linux.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.9 via Frontend Transport; Fri, 4 Feb 2022 02:30:07 -0800 From: Krishna Yarlagadda To: , , , , CC: , , , , , , Krishna Yarlagadda Subject: [PATCH 4/6] spi: tegra210-quad: add acpi support Date: Fri, 4 Feb 2022 15:59:34 +0530 Message-ID: <1643970576-31503-5-git-send-email-kyarlagadda@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> References: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4cb23c87-6214-410b-5e64-08d9e7c95489 X-MS-TrafficTypeDiagnostic: DM6PR12MB4942:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2887; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q7cDMx9zHPiCgOWqQOh4wWKuV7r75119GgrPOOYfT6O9lAsDnxZYlvE67keB0YVD1GJXED94qhic8XJIGTxiYTosJulj4iV2NmGEr1khY378BunVmSqfZVL9XghyWSLgqB+KFTCAzISw7g1v/iOmG9QnFTSZ9EdnWNlxOAZwBu5+ChKGWpciX+lntOtS/5JwjYSgwR8cdMNOUm0wwuPfc+ePv5OWJ21n4+puW4rMrJsugTrd0LPI3X1sdJJ0CIBp0Gp40w2u4juuuLWyl4BLykTsOIILg1HjgDEIVzN+HmDWRz5pBBCKlnb9CWWauQsHJInqzNNEu382kw35ljRTPA5WcRQPx6CUeCHUficb75YuOfQefRm0kiBfbGIMWwckT0xak+6WIKRb6fggwyJXf7UDqjAwgHvJ8zs8as7ohaLAxCWiCKRijKuwk2i0KBqSiRI1bVZnQCFvbpCqgpM23IAiNbZBAR3o2T25NQhy0xttru+dNP06yrqJ5rfcLEO//6tA7sSt9xFpz/3BV7ztI+1rylBsLQCRNScHpQ0SFpgD30NgbdceyWUkXJP4H3V/VtNvyUrAD0US4sXKTd3tYHsN+Akzhg9fwKjgsSyGNCIfIsbjL2F9niMKOUgQvuqJnlTPvdKMchUySZODTVnyyLubEC9rZWg/Xs+VYY5ZQCzaZ+2A998uXn02MQBGHvMptgmzC4twi1nXqpF71R6lAQ== X-Forefront-Antispam-Report: CIP:12.22.5.235; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(46966006)(40470700004)(81166007)(5660300002)(7696005)(83380400001)(107886003)(356005)(6666004)(336012)(426003)(26005)(36756003)(2616005)(186003)(47076005)(70206006)(70586007)(4326008)(82310400004)(40460700003)(54906003)(8936002)(8676002)(110136005)(2906002)(508600001)(86362001)(316002)(36860700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 10:30:14.0961 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4cb23c87-6214-410b-5e64-08d9e7c95489 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.235]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT022.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4942 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add ACPI ID for Tegra QUAD SPI. Switch to common device property calls. Skip clock calls that are not updated in ACPI boot. Signed-off-by: Krishna Yarlagadda --- drivers/spi/spi-tegra210-quad.c | 50 ++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/drivers/spi/spi-tegra210-quad.c b/drivers/spi/spi-tegra210-quad.c index 2e5f20c..c83701b 100644 --- a/drivers/spi/spi-tegra210-quad.c +++ b/drivers/spi/spi-tegra210-quad.c @@ -21,6 +21,8 @@ #include #include #include +#include +#include #define QSPI_COMMAND1 0x000 #define QSPI_BIT_LENGTH(x) (((x) & 0x1f) << 0) @@ -771,7 +773,7 @@ static u32 tegra_qspi_setup_transfer_one(struct spi_device *spi, struct spi_tran u32 tx_tap = 0, rx_tap = 0; int req_mode; - if (speed != tqspi->cur_speed) { + if (!has_acpi_companion(tqspi->dev) && speed != tqspi->cur_speed) { clk_set_rate(tqspi->clk, speed); tqspi->cur_speed = speed; } @@ -879,16 +881,16 @@ static int tegra_qspi_start_transfer_one(struct spi_device *spi, static struct tegra_qspi_client_data *tegra_qspi_parse_cdata_dt(struct spi_device *spi) { struct tegra_qspi_client_data *cdata; - struct device_node *slave_np = spi->dev.of_node; cdata = devm_kzalloc(&spi->dev, sizeof(*cdata), GFP_KERNEL); if (!cdata) return NULL; - of_property_read_u32(slave_np, "nvidia,tx-clk-tap-delay", - &cdata->tx_clk_tap_delay); - of_property_read_u32(slave_np, "nvidia,rx-clk-tap-delay", - &cdata->rx_clk_tap_delay); + device_property_read_u32(&spi->dev, "nvidia,tx-clk-tap-delay", + &cdata->tx_clk_tap_delay); + device_property_read_u32(&spi->dev, "nvidia,rx-clk-tap-delay", + &cdata->rx_clk_tap_delay); + return cdata; } @@ -1226,6 +1228,24 @@ static const struct of_device_id tegra_qspi_of_match[] = { MODULE_DEVICE_TABLE(of, tegra_qspi_of_match); +#ifdef CONFIG_ACPI +static const struct acpi_device_id tegra_qspi_acpi_match[] = { + { + .id = "NVDA1213", + .driver_data = (kernel_ulong_t)&tegra210_qspi_soc_data, + }, { + .id = "NVDA1313", + .driver_data = (kernel_ulong_t)&tegra186_qspi_soc_data, + }, { + .id = "NVDA1413", + .driver_data = (kernel_ulong_t)&tegra234_qspi_soc_data, + }, + {} +}; + +MODULE_DEVICE_TABLE(acpi, tegra_qspi_acpi_match); +#endif + static int tegra_qspi_probe(struct platform_device *pdev) { struct spi_master *master; @@ -1266,11 +1286,14 @@ static int tegra_qspi_probe(struct platform_device *pdev) qspi_irq = platform_get_irq(pdev, 0); tqspi->irq = qspi_irq; - tqspi->clk = devm_clk_get(&pdev->dev, "qspi"); - if (IS_ERR(tqspi->clk)) { - ret = PTR_ERR(tqspi->clk); - dev_err(&pdev->dev, "failed to get clock: %d\n", ret); - return ret; + if (!has_acpi_companion(tqspi->dev)) { + tqspi->clk = devm_clk_get(&pdev->dev, "qspi"); + if (IS_ERR(tqspi->clk)) { + ret = PTR_ERR(tqspi->clk); + dev_err(&pdev->dev, "failed to get clock: %d\n", ret); + return ret; + } + } tqspi->max_buf_size = QSPI_FIFO_DEPTH << 2; @@ -1373,6 +1396,8 @@ static int __maybe_unused tegra_qspi_runtime_suspend(struct device *dev) struct spi_master *master = dev_get_drvdata(dev); struct tegra_qspi *tqspi = spi_master_get_devdata(master); + if (has_acpi_companion(tqspi->dev)) + return 0; /* flush all write which are in PPSB queue by reading back */ tegra_qspi_readl(tqspi, QSPI_COMMAND1); @@ -1387,6 +1412,8 @@ static int __maybe_unused tegra_qspi_runtime_resume(struct device *dev) struct tegra_qspi *tqspi = spi_master_get_devdata(master); int ret; + if (has_acpi_companion(tqspi->dev)) + return 0; ret = clk_prepare_enable(tqspi->clk); if (ret < 0) dev_err(tqspi->dev, "failed to enable clock: %d\n", ret); @@ -1404,6 +1431,7 @@ static struct platform_driver tegra_qspi_driver = { .name = "tegra-qspi", .pm = &tegra_qspi_pm_ops, .of_match_table = tegra_qspi_of_match, + .acpi_match_table = ACPI_PTR(tegra_qspi_acpi_match), }, .probe = tegra_qspi_probe, .remove = tegra_qspi_remove, From patchwork Fri Feb 4 10:29:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krishna Yarlagadda X-Patchwork-Id: 540276 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 D0B96C433F5 for ; Fri, 4 Feb 2022 10:30:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357507AbiBDKaX (ORCPT ); Fri, 4 Feb 2022 05:30:23 -0500 Received: from mail-dm6nam12on2062.outbound.protection.outlook.com ([40.107.243.62]:39171 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1351410AbiBDKaU (ORCPT ); Fri, 4 Feb 2022 05:30:20 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FhvD/8b08JvbJcGGZkLgRsow+tvjWvvAMf+Bs17xAj4tHVyImFr3rkzipFGLqS/0aJyosrJTcfLelsw+e8n5soZ+xmBQMaUcLOW24OzC5kz08fr83M8kgHfBWizEc93+1lMlCnHFA8k7JnoAKjRmTHoBJ5JvO7o7LwLE7xGbWyyH2x1epN8jpgkpyxzwjl4STfD5v9/2LKuY+1m69JEwdzkmg3WfpqCc8kRry39VbIr8Enz5Da+rLvkKt+TGjUf99zLa37KhuhR+apVvTPP7jkfhm48S0A1a/kEg5vp70eWb3SvtVs2e3Ls4n6HFbQMOOiOBqW/YkOJ7BBH3/SyAmw== 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=vxlFzwpLgj3M9Jj2RVS3E7GwjV3GdiKs+0bNh/Zo8R0=; b=La7wt0PxMMQXZmPzzlN1w/uBhvpRVgsdMAK891Ozk4voh0NroaZcCmm+qTPlzOVexz3SJReCdOdVlxleTccsFLRVoNg+7t58dcn9KoWd1g8XhfzjWZaeBgoHnjBBa2Y8Lj+4mzpSNSR6MRJMOuqnuBHtLodBIptVrrz06YkArL3ih7F+Aa07mbeVCAB9I2n+7pOrtcEqu2L0VFSrziRgIirmcfyk8ZVfYgrxU9p1OBg+9NpdSg4wOhSvVNPBeKAU1TnxSFrT/7tCDVz3eqW/hvqEilcaRWdVoP5b9/EuBytEGM/jHrpi+CWGEXEfdWZMB3wrz/a0Xxksjz7af63S5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vxlFzwpLgj3M9Jj2RVS3E7GwjV3GdiKs+0bNh/Zo8R0=; b=lsjcaBawj5pUDRQptaWJWvx4KHCUqO/ThpLbrr++t2Hu1RP9IMQQ8Sj1JRKOzDS2CS1Qau0uBVNohhmoillS3y90jL7/MXhUjfm1Kz1KqiT3XCMZVahX6w3buYtw0T/hLSq2YC/msXuCQ0btl+QgeLpFuw5gqonQS+FNpVRGXE73wFEjPNB2mTs0GaNkQ40j4oE+N/mHVRvDAfnvpI39pBMtiimt4KK6vL6o5J5GWUjGQb4Fs7YlCSVgvyUDeEeEKHnGnBVJgwPrXwGAxG9jk9ilERqB2tPVYHJs/O3lUy90bEkvx+uaVyPGEj31zv3nhvLRESoVIefGMuMJB8LvQQ== Received: from DM3PR03CA0002.namprd03.prod.outlook.com (2603:10b6:0:50::12) by BN6PR12MB1252.namprd12.prod.outlook.com (2603:10b6:404:15::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 10:30:17 +0000 Received: from DM6NAM11FT047.eop-nam11.prod.protection.outlook.com (2603:10b6:0:50:cafe::d5) by DM3PR03CA0002.outlook.office365.com (2603:10b6:0:50::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.235) by DM6NAM11FT047.mail.protection.outlook.com (10.13.172.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:17 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 4 Feb 2022 10:30:16 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Fri, 4 Feb 2022 02:30:15 -0800 Received: from kyarlagadda-linux.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.9 via Frontend Transport; Fri, 4 Feb 2022 02:30:12 -0800 From: Krishna Yarlagadda To: , , , , CC: , , , , , , Krishna Yarlagadda Subject: [PATCH 5/6] dt-bindings: spi: Tegra QUAD SPI combined sequence Date: Fri, 4 Feb 2022 15:59:35 +0530 Message-ID: <1643970576-31503-6-git-send-email-kyarlagadda@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> References: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3fe058a0-2d94-4850-7627-08d9e7c9568d X-MS-TrafficTypeDiagnostic: BN6PR12MB1252:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3968; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6VuShDXyRF6e4xXW3/QbmBgSKqhlzZvyeQs+5n5n4R4D3rGkZWpVkyEzkA6d9lWEFLFWnT6P32B7NOn28iBqEOLrAgGU7WD9XCIl/6Dlxb7ZwhBF4Ah4E8kvOQ2eY/siVVJ4D0yAB5WVwpnOSu/P2AONckQiS2dYmVauIRMB/jQnODG12iVaadKLU8t798y4skVMKIrQ0Ad+71lnU4ONgwYXblvDTwaaf4z8omYWY2a7qpkbPFZQNoem6EGZBli8avD6Y6n8hbaVTv/7rnbGhpaxsMamOjDdYR9JX3mi6wSY/76XXL4jmBIRinuqar5HK8G/pw1a2hqXgtcu7lOLuOjzX7JcpbX83KQk5VsrpgCR9pSf2JHctaVqpSt6zan0Rj0w/yJ8Qnxx4PNSn/Zz6xpBNXAmhAtVES8Y9hg6F8pdv0q/XPbaxi2zahWXiHWmIM07c+3hSqgHjCVPQeMs3ecUJSYrQEchtca86oVUevX4Yal/HGOxJIMReskz0fS1eLX5KIYYLLLRo+Kt3eV28aN37SoV9CF4AsSuKBn5CNZeD+ioPWCC3rn/t/g0AjW+bF0AU0JkaRwL+hSy+Y7cObmVPPxGDVHkcqkf42FcJZWllRWKSEecFCoGcWJJB88zQHmkvOxgNP6Mhx1T/al1K8qH8Pe/+rtXsRCZnjRhDZNMllCDZfj1OobjHide8qJSAW8Ss2MAfANTR8sOkVRVYQ== X-Forefront-Antispam-Report: CIP:12.22.5.235; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(46966006)(40470700004)(86362001)(82310400004)(40460700003)(356005)(70206006)(8936002)(8676002)(4326008)(70586007)(316002)(110136005)(54906003)(81166007)(5660300002)(7696005)(107886003)(36860700001)(83380400001)(47076005)(508600001)(2616005)(6666004)(336012)(186003)(26005)(426003)(36756003)(2906002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 10:30:17.4940 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3fe058a0-2d94-4850-7627-08d9e7c9568d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.235]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT047.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1252 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Tegra194 and later chips support combined sequence mode which result in less interrupts and better perf. This flag helps enable it. Signed-off-by: Krishna Yarlagadda --- Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml index 6efea89..3767059 100644 --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml @@ -46,6 +46,14 @@ properties: - const: rx - const: tx + nvidia,cmb-xfer: + description: + Enable combined sequence transfers for read and program sequence + if supported by hardware. Tegra194 and later chips support this + feature. Default is non combined sequence. SPI message should + contain CMD-ADDR-DATA transfers to combine and send to hardware. + type: boolean + patternProperties: "@[0-9a-f]+": type: object From patchwork Fri Feb 4 10:29:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krishna Yarlagadda X-Patchwork-Id: 540024 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 52B8CC4332F for ; Fri, 4 Feb 2022 10:30:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357673AbiBDKaZ (ORCPT ); Fri, 4 Feb 2022 05:30:25 -0500 Received: from mail-bn8nam11on2063.outbound.protection.outlook.com ([40.107.236.63]:45515 "EHLO NAM11-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1357826AbiBDKaZ (ORCPT ); Fri, 4 Feb 2022 05:30:25 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j0N9CS9NIJDYn5IZSm/g8lHmmpbXAHQp3YO+QdCr4bhuBYrBkVU+vosH9mmUdZJCEKFiAKKCMsN8FXNdd28PZZ+xRg5s9qMeFGEWxvKbCp4mILccnECZTps0LsW082kBjzbv/+DYjqY1dJ8+7lLFQaDbQFa3LMSTtUgo7LrI2KTE8HUrSq5AxUZxd8F2jYSQySnkPTSDEQsh6pWBB5zinLaMO5kvVcADIT172diIYU0f2Mq78/I71hYeIjPEP9IcF4DbBiHwOvhotqpGZg4LdMhAS0lN7koCl5AmpC6Y98/xprjewhZtuBt4/2HbJ6//rXOQCjD6jeQoxKCRk7Bg6Q== 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=T/p20RMc2I4+Itip+d3tq0XxSBl+EGN/YG0SyMbFSyg=; b=N7tVrRvuCVUHrZipvj7xO7gvov9P3kbiNRw/+HYD1gCg2GdQOVsPad7q9U/rISZN5s5ordchFia8J/xiE0eTizAgCNJQhPafevIw299hdBAzFxoolOTN26gWCezB0WJ2YGY50WjgK5pvTOMP1l7gde21F9KExp+6lLCQUHa58/Gw+uyHwvMGbMIfyd1ahc4702fOYJIZYQR8kanr8MkJNGj405JvrFJVqiVeTkvmoO5lHmDP+6VcQ7Dx9coLof3qVIMWJQTOGhmsZEnco8Lryt6wbhfTqlwqDTFr5Qb5PQCj6yaGkpiLAGcJJyU1wQxuDqDcPkPyiYArFHs3MxGD1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T/p20RMc2I4+Itip+d3tq0XxSBl+EGN/YG0SyMbFSyg=; b=mobIK44NqXbk1ISrTXOa4eEKlD3hFugoMzmbUC61tJZNTRaa89dGeFqMHfJdLHgxlo+sI4LwYTjngVKg69YTBABwDS0LHO622Ew8yeYOPtlqbg51PctyLGN2+2qBTjYQYVrXFTeTiBo+3BzjaZcb9wLKSwzPPZ/RNTkfRUoPVQZpkHP2VesIvjG7PsrUIcejamlS+NSnwUHC/R9JSJEW9FRDmiLca2Xdb/65Y6Gttrb1CN8BUOJtqZd8veUKcT4BNhI/gYbvxApd8g8kuwKjUcjjOH8Q27iY8hPxFX8Wcx7syLT7jP9I3tFen3W8RWAdL48w/3geBPHsEfl9dZkkYw== Received: from BN0PR04CA0138.namprd04.prod.outlook.com (2603:10b6:408:ed::23) by DM5PR12MB1706.namprd12.prod.outlook.com (2603:10b6:3:10f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Fri, 4 Feb 2022 10:30:22 +0000 Received: from BN8NAM11FT054.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ed:cafe::68) by BN0PR04CA0138.outlook.office365.com (2603:10b6:408:ed::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.236) by BN8NAM11FT054.mail.protection.outlook.com (10.13.177.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4951.12 via Frontend Transport; Fri, 4 Feb 2022 10:30:21 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 4 Feb 2022 10:30:20 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Fri, 4 Feb 2022 02:30:19 -0800 Received: from kyarlagadda-linux.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.9 via Frontend Transport; Fri, 4 Feb 2022 02:30:16 -0800 From: Krishna Yarlagadda To: , , , , CC: , , , , , , Krishna Yarlagadda Subject: [PATCH 6/6] spi: tegra210-quad: combined sequence mode Date: Fri, 4 Feb 2022 15:59:36 +0530 Message-ID: <1643970576-31503-7-git-send-email-kyarlagadda@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> References: <1643970576-31503-1-git-send-email-kyarlagadda@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c4ef3691-e821-4a88-2324-08d9e7c958ed X-MS-TrafficTypeDiagnostic: DM5PR12MB1706:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bGdlvUG9ZQpIEAfuKsodD/QsMbDVU2rhKesRzgm2LHhMCt3gZT0xJyDYaEt1BdNzHMG79Nxv01HctJHZtuscOIe4v/831pLODkr/Yt88b1D7hHjaK60ODDJx+rVu9I9rsspo8RHAy6P6JBJDrYth/lHPCdYVIqt5Qv1UBGWhTorZwZu5gnOkCsGg/byD28pBAkHH7glsUt+mHyWzyCCIc+47YLW6vmLeejP21Fr2HN9Liylvo2zF8VppDvLuehsjEaG4r5Zb0q0zoQ6mdoRBdYUezygMHcNQ9r+gk0Z9ibGREP3ZNDFhvNJtXASqA6WmoZCvV+8xbdu1cS8UpHdS9C6JWe5yaSY5v3cl6WG1LyAbjOEVUh9R66KS85QBNuBDv8OFfnfQ09d+MH1U8P7GZQNlaaygo13+QQUrtzHthJcsE7uTcRhR0iFfhxhIWQeG1Srvf/ql7TO2W77Vvm4Bkt8fSEimffiq9LjGNhAiZTUEQrSQnxr+lks4AcjYeYq4e2PrI3szCNQfmEYgM2nS5Tmxraqzgu8S/DNbqQUx8DU9Vj3QK83OpYO0AqyUbkdgWJpMRUbmRBYW5gwJjBA0H5fWnKf0pd8k2dsD1eNpmgA+1VPg5otVSL4coWa885/qF4p5ht34hiCF4PlsjGiUlYS4IDxy8ue1qms5JFXsTxGarpkyWFY0wTmgdIgdca5+HPXG/3KJfoGy4Kvukj/q9w== X-Forefront-Antispam-Report: CIP:12.22.5.236; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(40470700004)(36840700001)(46966006)(2906002)(36860700001)(110136005)(356005)(26005)(36756003)(47076005)(81166007)(5660300002)(82310400004)(186003)(40460700003)(83380400001)(70586007)(8936002)(70206006)(508600001)(4326008)(2616005)(336012)(54906003)(316002)(107886003)(86362001)(6666004)(7696005)(426003)(8676002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 10:30:21.4452 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c4ef3691-e821-4a88-2324-08d9e7c958ed X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.236]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT054.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1706 Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Add combined sequence mode supported by Tegra QSPI controller. For commands which contain cmd, addr, data parts to it,controller can accept all 3 transfers at once and xfer avoiding interrupt for each transfer. This would improve read & write performance. Signed-off-by: Krishna Yarlagadda --- drivers/spi/spi-tegra210-quad.c | 216 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 212 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-tegra210-quad.c b/drivers/spi/spi-tegra210-quad.c index c83701b..1c6cec8 100644 --- a/drivers/spi/spi-tegra210-quad.c +++ b/drivers/spi/spi-tegra210-quad.c @@ -121,19 +121,45 @@ #define QSPI_NUM_DUMMY_CYCLE(x) (((x) & 0xff) << 0) #define QSPI_DUMMY_CYCLES_MAX 0xff +#define QSPI_CMB_SEQ_CMD 0x19c +#define QSPI_COMMAND_VALUE_SET(X) (((x) & 0xFF) << 0) + +#define QSPI_CMB_SEQ_CMD_CFG 0x1a0 +#define QSPI_COMMAND_X1_X2_X4(x) (((x) & 0x3) << 13) +#define QSPI_COMMAND_X1_X2_X4_MASK (0x03 << 13) +#define QSPI_COMMAND_SDR_DDR BIT(12) +#define QSPI_COMMAND_SIZE_SET(x) (((x) & 0xFF) << 0) + +#define QSPI_GLOBAL_CONFIG 0X1a4 +#define QSPI_CMB_SEQ_EN BIT(0) + +#define QSPI_CMB_SEQ_ADDR 0x1a8 +#define QSPI_ADDRESS_VALUE_SET(X) (((x) & 0xFFFF) << 0) + +#define QSPI_CMB_SEQ_ADDR_CFG 0x1ac +#define QSPI_ADDRESS_X1_X2_X4(x) (((x) & 0x3) << 13) +#define QSPI_ADDRESS_X1_X2_X4_MASK (0x03 << 13) +#define QSPI_ADDRESS_SDR_DDR BIT(12) +#define QSPI_ADDRESS_SIZE_SET(x) (((x) & 0xFF) << 0) + #define DATA_DIR_TX BIT(0) #define DATA_DIR_RX BIT(1) #define QSPI_DMA_TIMEOUT (msecs_to_jiffies(1000)) #define DEFAULT_QSPI_DMA_BUF_LEN (64 * 1024) +#define CMD_TRANSFER 0 +#define ADDR_TRANSFER 1 +#define DATA_TRANSFER 2 struct tegra_qspi_soc_data { bool has_dma; + bool cmb_xfer_capable; }; struct tegra_qspi_client_data { int tx_clk_tap_delay; int rx_clk_tap_delay; + bool is_cmb_xfer; }; struct tegra_qspi { @@ -880,6 +906,7 @@ static int tegra_qspi_start_transfer_one(struct spi_device *spi, static struct tegra_qspi_client_data *tegra_qspi_parse_cdata_dt(struct spi_device *spi) { + struct tegra_qspi *tqspi = spi_master_get_devdata(spi->master); struct tegra_qspi_client_data *cdata; cdata = devm_kzalloc(&spi->dev, sizeof(*cdata), GFP_KERNEL); @@ -890,6 +917,12 @@ static struct tegra_qspi_client_data *tegra_qspi_parse_cdata_dt(struct spi_devic &cdata->tx_clk_tap_delay); device_property_read_u32(&spi->dev, "nvidia,rx-clk-tap-delay", &cdata->rx_clk_tap_delay); + if (tqspi->soc_data->cmb_xfer_capable) + cdata->is_cmb_xfer = device_property_read_bool + (&spi->dev, + "nvidia,cmb-xfer"); + else + cdata->is_cmb_xfer = false; return cdata; } @@ -912,7 +945,6 @@ static int tegra_qspi_setup(struct spi_device *spi) cdata = tegra_qspi_parse_cdata_dt(spi); spi->controller_data = cdata; } - spin_lock_irqsave(&tqspi->lock, flags); /* keep default cs state to inactive */ @@ -970,9 +1002,160 @@ static void tegra_qspi_transfer_end(struct spi_device *spi) tegra_qspi_writel(tqspi, tqspi->def_command1_reg, QSPI_COMMAND1); } -static int tegra_qspi_transfer_one_message(struct spi_master *master, struct spi_message *msg) +static u32 tegra_qspi_cmd_config(bool is_ddr, u8 bus_width, u8 len) +{ + u32 cmd_config = 0; + + /* Extract Command configuration and value */ + if (is_ddr) + cmd_config |= QSPI_COMMAND_SDR_DDR; + else + cmd_config &= ~QSPI_COMMAND_SDR_DDR; + + cmd_config |= QSPI_COMMAND_X1_X2_X4(bus_width); + cmd_config |= QSPI_COMMAND_SIZE_SET((len * 8) - 1); + + return cmd_config; +} + +static u32 tegra_qspi_addr_config(bool is_ddr, u8 bus_width, u8 len) +{ + u32 addr_config = 0; + + /* Extract Address configuration and value */ + is_ddr = 0; //Only SDR mode supported + bus_width = 0; //X1 mode + + if (is_ddr) + addr_config |= QSPI_ADDRESS_SDR_DDR; + else + addr_config &= ~QSPI_ADDRESS_SDR_DDR; + + addr_config |= QSPI_ADDRESS_X1_X2_X4(bus_width); + addr_config |= QSPI_ADDRESS_SIZE_SET((len * 8) - 1); + + return addr_config; +} + +static int tegra_qspi_combined_seq_xfer(struct tegra_qspi *tqspi, + struct spi_message *msg) +{ + bool is_first_msg = true; + int single_xfer; + struct spi_transfer *xfer; + struct spi_device *spi = msg->spi; + u8 transfer_phase = 0; + u32 cmd1 = 0, dma_ctl = 0; + int ret; + u32 address_value = 0; + u32 cmd_config = 0, addr_config = 0; + u8 cmd_value = 0, len = 0, val = 0; + + /* Enable Combined sequence mode */ + val = tegra_qspi_readl(tqspi, QSPI_GLOBAL_CONFIG); + val |= QSPI_CMB_SEQ_EN; + tegra_qspi_writel(tqspi, val, QSPI_GLOBAL_CONFIG); + single_xfer = list_is_singular(&msg->transfers); + /* Process individual transfer list */ + list_for_each_entry(xfer, &msg->transfers, transfer_list) { + if (transfer_phase == CMD_TRANSFER) { + /* X1 SDR mode */ + cmd_config = tegra_qspi_cmd_config(false, 0, + xfer->len); + cmd_value = *((const u8 *)(xfer->tx_buf)); + + } else if (transfer_phase == ADDR_TRANSFER) { + len = xfer->len; + /* X1 SDR mode */ + addr_config = tegra_qspi_addr_config(false, 0, + xfer->len); + address_value = *((const u32 *)(xfer->tx_buf)); + } else { + /* Program Command, Address value in register */ + tegra_qspi_writel(tqspi, cmd_value, QSPI_CMB_SEQ_CMD); + tegra_qspi_writel(tqspi, address_value, + QSPI_CMB_SEQ_ADDR); + /* Program Command and Address config in register */ + tegra_qspi_writel(tqspi, cmd_config, + QSPI_CMB_SEQ_CMD_CFG); + tegra_qspi_writel(tqspi, addr_config, + QSPI_CMB_SEQ_ADDR_CFG); + + reinit_completion(&tqspi->xfer_completion); + cmd1 = tegra_qspi_setup_transfer_one(spi, xfer, + is_first_msg); + ret = tegra_qspi_start_transfer_one(spi, xfer, + cmd1); + + if (ret < 0) { + dev_err(tqspi->dev, "Failed to start transfer-one: %d\n", + ret); + return ret; + } + + is_first_msg = false; + ret = wait_for_completion_timeout + (&tqspi->xfer_completion, + QSPI_DMA_TIMEOUT); + + if (WARN_ON(ret == 0)) { + dev_err(tqspi->dev, "QSPI Transfer failed with timeout: %d\n", + ret); + if (tqspi->is_curr_dma_xfer && + (tqspi->cur_direction & DATA_DIR_TX)) + dmaengine_terminate_all + (tqspi->tx_dma_chan); + + if (tqspi->is_curr_dma_xfer && + (tqspi->cur_direction & DATA_DIR_RX)) + dmaengine_terminate_all + (tqspi->rx_dma_chan); + + /* Abort transfer by resetting pio/dma bit */ + if (!tqspi->is_curr_dma_xfer) { + cmd1 = tegra_qspi_readl + (tqspi, + QSPI_COMMAND1); + cmd1 &= ~QSPI_PIO; + tegra_qspi_writel + (tqspi, cmd1, + QSPI_COMMAND1); + } else { + dma_ctl = tegra_qspi_readl + (tqspi, + QSPI_DMA_CTL); + dma_ctl &= ~QSPI_DMA_EN; + tegra_qspi_writel(tqspi, dma_ctl, + QSPI_DMA_CTL); + } + + /* Reset controller if timeout happens */ + device_reset(tqspi->dev); + ret = -EIO; + goto exit; + } + + if (tqspi->tx_status || tqspi->rx_status) { + dev_err(tqspi->dev, "QSPI Transfer failed\n"); + tqspi->tx_status = 0; + tqspi->rx_status = 0; + ret = -EIO; + goto exit; + } + } + msg->actual_length += xfer->len; + transfer_phase++; + } + +exit: + msg->status = ret; + + return ret; +} + +static int tegra_qspi_non_combined_seq_xfer(struct tegra_qspi *tqspi, + struct spi_message *msg) { - struct tegra_qspi *tqspi = spi_master_get_devdata(master); struct spi_device *spi = msg->spi; struct spi_transfer *transfer; bool is_first_msg = true; @@ -1020,7 +1203,6 @@ static int tegra_qspi_transfer_one_message(struct spi_master *master, struct spi goto complete_xfer; } - is_first_msg = false; ret = wait_for_completion_timeout(&tqspi->xfer_completion, QSPI_DMA_TIMEOUT); if (WARN_ON(ret == 0)) { @@ -1065,7 +1247,29 @@ static int tegra_qspi_transfer_one_message(struct spi_master *master, struct spi ret = 0; exit: msg->status = ret; + + return ret; +} + +static int tegra_qspi_transfer_one_message(struct spi_master *master, + struct spi_message *msg) +{ + struct tegra_qspi *tqspi = spi_master_get_devdata(master); + struct tegra_qspi_client_data *cdata = msg->spi->controller_data; + int ret; + int transfer_count = 0; + struct spi_transfer *transfer; + + list_for_each_entry(transfer, &msg->transfers, transfer_list) { + transfer_count++; + } + if (cdata->is_cmb_xfer && transfer_count == 3) + ret = tegra_qspi_combined_seq_xfer(tqspi, msg); + else + ret = tegra_qspi_non_combined_seq_xfer(tqspi, msg); + spi_finalize_current_message(master); + return ret; } @@ -1199,14 +1403,17 @@ static irqreturn_t tegra_qspi_isr_thread(int irq, void *context_data) static struct tegra_qspi_soc_data tegra210_qspi_soc_data = { .has_dma = true, + .cmb_xfer_capable = false, }; static struct tegra_qspi_soc_data tegra186_qspi_soc_data = { .has_dma = true, + .cmb_xfer_capable = true, }; static struct tegra_qspi_soc_data tegra234_qspi_soc_data = { .has_dma = false, + .cmb_xfer_capable = true, }; static const struct of_device_id tegra_qspi_of_match[] = { @@ -1277,6 +1484,7 @@ static int tegra_qspi_probe(struct platform_device *pdev) tqspi->dev = &pdev->dev; spin_lock_init(&tqspi->lock); + tqspi->soc_data = device_get_match_data(&pdev->dev); r = platform_get_resource(pdev, IORESOURCE_MEM, 0); tqspi->base = devm_ioremap_resource(&pdev->dev, r); if (IS_ERR(tqspi->base))