From patchwork Wed Jun 14 12:04:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ashok Reddy Soma X-Patchwork-Id: 1794929 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=Yn0ahz+6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Qh3yr50NXz20WR for ; Wed, 14 Jun 2023 22:05:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 80AA9860A6; Wed, 14 Jun 2023 14:05:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="Yn0ahz+6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D3D338607F; Wed, 14 Jun 2023 14:05:16 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20602.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e89::602]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7B0E78607F for ; Wed, 14 Jun 2023 14:05:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=ashok.reddy.soma@amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bWsaAHXe7mWgJYEonYcDzfgLorSx2H/t6lDqvwKljVHOzpLeNJTvNWBcyySustUHo48GB/gzsZP9f+wxdOytRUUB1SrYAcQL3QMphhJWjPjctWMjY1sd4idTn03kjR6CP+F4JRkzay+Wm91pp5qLQ4NyiTkY8IPTLHQUsWLnSAWB9pLvhbDp/IBfsCI8pQNq2Gd//d9hkwSX0VUO82bvLT2mZbd4dapg46Qq+7u9CHoNIAUEzmn90JNwmoXN5FOLSMpLiNDQMYzVFVh6MHezgLafbZhmG1EfheDrwSzb5noZvp06TfVqlnWmchLNT584qqQLuLGUg7lgy9nK1Ydv3A== 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=rdtLdKwH6g1XSRGAlmVMM86YZUBOdRsEccYY0EedQWM=; b=WHiENhK1gnUA0c/56fuSLAH/6GRNFAjZgNrYZWUSMDs3Ro7DZafZlCGO4hty/oTvZMppYZVVsstyhkyYM5H/N2qeee4a+FqMoqO8bgGrdQ5v97R8+fRNsYyNDFtH2e1Xe+HMcmT2nlFgpw1TO2H22KnM1PT2nD8SHsIGQ6F3emBjotJa9owCOlLMjWgSDiShEP+XH1yWKip6h8X4pwsqngSn+XPRBqGi1bJee0GRENNL+LOsB7wjLpFyaqkIa6tYFu4xsif0v46d7yOBB0uoBS3SiOR28RH3/IyaRdpA8XJ4wm5hMbUZC5CsQXlFHAVHHE/P128qQ6YHj3RMKpd0yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.denx.de 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=rdtLdKwH6g1XSRGAlmVMM86YZUBOdRsEccYY0EedQWM=; b=Yn0ahz+6xu5ldmPtQKkA/0Hx6e06tP/9iA7hsLIP3KsYOYnCQso/TmQdZSUayFfdjMZYfTQqnja75WQ5Nrx7F1wNRa+oH7ngvcHOcLbS2s+PKCqHri4s6H2PvSQSiYQ25ipOo7l6RcoBw6xum4dvEiehcEJJ+q0nr9+DCUqcP30= Received: from MW4PR04CA0212.namprd04.prod.outlook.com (2603:10b6:303:87::7) by DM4PR12MB6087.namprd12.prod.outlook.com (2603:10b6:8:b1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.42; Wed, 14 Jun 2023 12:05:06 +0000 Received: from CO1PEPF000044FA.namprd21.prod.outlook.com (2603:10b6:303:87:cafe::1) by MW4PR04CA0212.outlook.office365.com (2603:10b6:303:87::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37 via Frontend Transport; Wed, 14 Jun 2023 12:05: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=SATLEXMB03.amd.com; pr=C Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1PEPF000044FA.mail.protection.outlook.com (10.167.241.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6521.10 via Frontend Transport; Wed, 14 Jun 2023 12:05:05 +0000 Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 14 Jun 2023 07:05:04 -0500 Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 14 Jun 2023 07:05:03 -0500 Received: from xhdashokred41.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 14 Jun 2023 07:05:01 -0500 From: Ashok Reddy Soma To: CC: , , , Ashok Reddy Soma Subject: [PATCH] cadence_qspi: Enable flash reset for Versal NET platform Date: Wed, 14 Jun 2023 06:04:52 -0600 Message-ID: <20230614120452.21019-1-ashok.reddy.soma@amd.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044FA:EE_|DM4PR12MB6087:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b962b68-64b3-4f6a-c95c-08db6ccf979c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZxNT5Z37i2PZDSLL/oKsdVq9n0X56L5wkvta3xXaAPfmplLLa/diMPjn4D1QQ1FthQUe05ObdZ+ITo3V/Vef1rC+xbSMaZxse2erWVDM+fQITXvGbRTraK7XxdqyntJmY1becHNXVGENWfZ0uxLedzNSJ3kiVtJpEW8TZSpEmTkx/A8MLDzPNnRyb3cxTX7HMvR1Fj3eTDS6e/CBCql0/+1QfrGRFCOUoM8jbqDLUmItSYb1A/zwMzbDGtrwm7nq0Afia0MSPaotwyrpGSIx342sCBQDgbemAso/AGKVhsWy7At/d8EO9V9qFU6Kqp5Jn6JRtuNBVfPH0vc1L6xOOjNe3nKyfF9Xtf8oaIlQAha/AfYuE6xwnjyhtNifQUmXugEoCp2l+36xAbjx7xwpj8EGs8I+uziB01z50+YP/U6h1ZuuLmdhvWNGZksJUil0PuNzEWb3SfSNk4a++lb0XPt31OjAm/Wcg3wVWxBjlqiGrV+IQhYekRlFo8t5/bmXH0+IZkKr4c1h9xo8wAHBUBA0a9KUqO/29Z86rfZrCmd8ZMgIF74tIDPc4KrQOdPR0c+mio5V3AXPOun0wxMuAaTThafyhh9tO0uYxgan5HJocc/ddoKKd8LeTZfEr6CURGb+NOlOrBwTQcXA+MSli1o1ShfuuxH/kAqX50sopmSMOv7Q9ibDj4kM30uL9frq+ZN2VrJdGYkoebrSJKbjsRGHeyWUk5K1y0lTWFHhhLKLzHcwlP7pdEG80nTFz4tZGMbGMnkvTJLP2svFWPVPKw== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB03.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(376002)(396003)(39860400002)(346002)(136003)(451199021)(36840700001)(40470700004)(46966006)(70586007)(70206006)(5660300002)(8936002)(8676002)(36756003)(6916009)(4326008)(6666004)(478600001)(54906003)(41300700001)(40460700003)(336012)(316002)(82740400003)(356005)(426003)(81166007)(26005)(47076005)(83380400001)(186003)(1076003)(40480700001)(2616005)(86362001)(36860700001)(2906002)(82310400005)(103116003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2023 12:05:05.9315 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9b962b68-64b3-4f6a-c95c-08db6ccf979c 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=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044FA.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6087 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Enable flash reset functionality for Versal NET platform. In cadence_qspi.c there is weak function defined for reset, hence remove the check for config, so that it will work for Versal and Versal NET platforms. Add register defines in Versal NET hardware.h for mini U-Boot flash reset. Add read_delay initialization for Versal NET also. Signed-off-by: Ashok Reddy Soma --- arch/arm/mach-versal-net/include/mach/hardware.h | 11 +++++++++++ drivers/spi/cadence_ospi_versal.c | 3 +-- drivers/spi/cadence_qspi.c | 13 +++++-------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/arch/arm/mach-versal-net/include/mach/hardware.h b/arch/arm/mach-versal-net/include/mach/hardware.h index 89b84a2efc..67b864101e 100644 --- a/arch/arm/mach-versal-net/include/mach/hardware.h +++ b/arch/arm/mach-versal-net/include/mach/hardware.h @@ -80,3 +80,14 @@ enum versal_net_platform { #define VERSAL_SLCR_BASEADDR 0xF1060000 #define VERSAL_AXI_MUX_SEL (VERSAL_SLCR_BASEADDR + 0x504) #define VERSAL_OSPI_LINEAR_MODE BIT(1) + +#define FLASH_RESET_GPIO 0xc +#define WPROT_CRP 0xF126001C +#define RST_GPIO 0xF1260318 +#define WPROT_LPD_MIO 0xFF080728 +#define WPROT_PMC_MIO 0xF1060828 +#define BOOT_MODE_DIR 0xF1020204 +#define BOOT_MODE_OUT 0xF1020208 +#define MIO_PIN_12 0xF1060030 +#define BANK0_OUTPUT 0xF1020040 +#define BANK0_TRI 0xF1060200 diff --git a/drivers/spi/cadence_ospi_versal.c b/drivers/spi/cadence_ospi_versal.c index 434c6038f3..a7685a2f51 100644 --- a/drivers/spi/cadence_ospi_versal.c +++ b/drivers/spi/cadence_ospi_versal.c @@ -130,7 +130,6 @@ int cadence_qspi_apb_wait_for_dma_cmplt(struct cadence_spi_priv *priv) #if defined(CONFIG_DM_GPIO) int cadence_qspi_versal_flash_reset(struct udevice *dev) { -#ifndef CONFIG_ARCH_VERSAL_NET struct gpio_desc gpio; u32 reset_gpio; int ret; @@ -166,7 +165,7 @@ int cadence_qspi_versal_flash_reset(struct udevice *dev) /* Set value 1 to pin */ dm_gpio_set_value(&gpio, 1); udelay(1); -#endif + return 0; } #else diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c index 2d715e478c..cc3a54f295 100644 --- a/drivers/spi/cadence_qspi.c +++ b/drivers/spi/cadence_qspi.c @@ -249,17 +249,14 @@ static int cadence_spi_probe(struct udevice *bus) priv->wr_delay = 50 * DIV_ROUND_UP(NSEC_PER_SEC, priv->ref_clk_hz); - if (IS_ENABLED(CONFIG_ARCH_VERSAL)) { - /* Versal platform uses spi calibration to set read delay */ + /* Versal and Versal-NET use spi calibration to set read delay */ + if (CONFIG_IS_ENABLED(ARCH_VERSAL) || + CONFIG_IS_ENABLED(ARCH_VERSAL_NET)) if (priv->read_delay >= 0) priv->read_delay = -1; - /* Reset ospi flash device */ - ret = cadence_qspi_versal_flash_reset(bus); - if (ret) - return ret; - } - return 0; + /* Reset ospi flash device */ + return cadence_qspi_versal_flash_reset(bus); } static int cadence_spi_remove(struct udevice *dev)