From 50a212ec906f7524620675f0c57357691c26c81f Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 16 Oct 2024 01:20:19 +0000
Subject: [PATCH] 修改GPIO导出默认初始值
---
kernel/drivers/rkflash/sfc.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/kernel/drivers/rkflash/sfc.c b/kernel/drivers/rkflash/sfc.c
index bec4e06..19773a8 100644
--- a/kernel/drivers/rkflash/sfc.c
+++ b/kernel/drivers/rkflash/sfc.c
@@ -12,6 +12,7 @@
#define SFC_MAX_IOSIZE_VER4 (0xFFFFFFFF)
static void __iomem *g_sfc_reg;
+static u32 sfc_version;
static void sfc_reset(void)
{
@@ -42,14 +43,16 @@
u32 sfc_get_max_dll_cells(void)
{
- if (sfc_get_version() == SFC_VER_8)
+ switch (sfc_get_version()) {
+ case SFC_VER_8:
+ case SFC_VER_6:
+ case SFC_VER_5:
return SCLK_SMP_SEL_MAX_V5;
- else if (sfc_get_version() == SFC_VER_5)
- return SCLK_SMP_SEL_MAX_V5;
- else if (sfc_get_version() == SFC_VER_4)
+ case SFC_VER_4:
return SCLK_SMP_SEL_MAX_V4;
- else
+ default:
return 0;
+ }
}
void sfc_set_delay_lines(u16 cells)
@@ -73,6 +76,7 @@
if (sfc_get_version() >= SFC_VER_4)
writel(1, g_sfc_reg + SFC_LEN_CTRL);
+ sfc_version = sfc_get_version();
return SFC_OK;
}
@@ -114,7 +118,7 @@
op->sfctrl.d32 |= 0x2;
cmd.b.datasize = size;
- if (sfc_get_version() >= SFC_VER_4)
+ if (sfc_version >= SFC_VER_4)
writel(size, g_sfc_reg + SFC_LEN_EXT);
else
cmd.b.datasize = size;
@@ -236,6 +240,8 @@
break;
}
+ if (!bytes)
+ break;
sfc_delay(1);
if (timeout++ > 10000) {
--
Gitblit v1.6.2