wlan-ap-Telecominfraproject/feeds/qca-wifi-7/ipq53xx/patches-6.1/0276-mtd-rawnand-qcom-Fix-offset-issue-for-SPI_CFG-regist.patch
John Crispin 68cf54d9f7 qca-wifi-7: update to ath12.5.5
Signed-off-by: John Crispin <john@phrozen.org>
2025-02-27 12:45:52 +01:00

47 lines
1.8 KiB
Diff

From 14f4680cf438e666d882bd4ddad91ae9ebb15d5c Mon Sep 17 00:00:00 2001
From: Sridharan S N <quic_sridsn@quicinc.com>
Date: Thu, 11 May 2023 14:14:22 +0530
Subject: [PATCH 276/281] mtd: rawnand: qcom: Fix offset issue for SPI_CFG
register and avoid write to unavailable register
The NAND_FLASH_SPI_CFG register cannot be accessed from the A53/73 while BAM mode is enabled. This register set
is configured as secure only access, hence only secure BAM access can be used. Similarly certain SPI register
groups can be accessed only using BAM, fix it.
SFLASHC_BURST_CFG register has been removed when the NAND controller got implemented in the QPIC controller.
Avoid writing this register on devices which are based on QPIC NAND controller.
Change-Id: I4b0ff0147a1b65a7ba0665c262dcec810a441a4b
Signed-off-by: Sridharan S N <quic_sridsn@quicinc.com>
---
drivers/mtd/nand/raw/qcom_nandc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c
index 2c3e2b18b2f4..d4932806f35e 100644
--- a/drivers/mtd/nand/raw/qcom_nandc.c
+++ b/drivers/mtd/nand/raw/qcom_nandc.c
@@ -1281,6 +1281,10 @@ static int write_reg_dma(struct qcom_nand_controller *nandc, int first,
if (first == NAND_EXEC_CMD)
flags |= NAND_BAM_NWD;
+ if (first == NAND_FLASH_SPI_CFG || first == NAND_SPI_NUM_ADDR_CYCLES
+ || first == NAND_SPI_BUSY_CHECK_WAIT_CNT)
+ first = dev_cmd_reg_addr(nandc, first);
+
if (first == NAND_DEV_CMD1_RESTORE || first == NAND_DEV_CMD1)
first = dev_cmd_reg_addr(nandc, NAND_DEV_CMD1);
@@ -3256,7 +3260,7 @@ static int qcom_nandc_setup(struct qcom_nand_controller *nandc)
u32 nand_ctrl;
/* kill onenand */
- if (!nandc->props->is_qpic)
+ if (!nandc->props->is_qpic && !nandc->props->qpic_v2)
nandc_write(nandc, SFLASHC_BURST_CFG, 0);
if (!nandc->props->qpic_v2)
--
2.17.1