Index: yc_flashInit.h
===================================================================
--- /YC3121_SDK/fw/sdk/yc_flashInit.h	(nonexistent)
+++ /YC3121_SDK/fw/sdk/yc_flashInit.h	(working copy)
@@ -0,0 +1,37 @@
+/*
+File Name    : yc_flashInit.h
+Author       : Yichip
+Version      : V1.0
+Date         : 2021/01/10
+Description  : QSPI FLASH mode config.
+*/
+#ifndef __YC_FLASH_INIT_H__
+#define __YC_FLASH_INIT_H__
+
+#include "yc3121.h"
+#include "yc_qspi.h"
+/* Private define ------------------------------------------------------------*/
+#define TEST_IO          0
+#define CHIP_PACKAGE  TEST_IO
+
+#if(CHIP_PACKAGE == TEST_IO)
+#define QSPI_IO_0       16
+#define QSPI_IO_1       8
+#define QSPI_IO_2       9
+#define QSPI_IO_3       10
+#define QSPI_IO_SCK     11
+#define QSPI_IO_NCS     22
+#else
+//NONE
+#endif
+#define QSPI_QUAD_MODE  QSPICFG_RETRY | QSPICFG_DECEN | QSPICFG_XIPEN | QSPICFG_MODE_EB
+#define QSPI_DUAL_MODE  QSPICFG_RETRY | QSPICFG_DECEN | QSPICFG_XIPEN | QSPICFG_MODE_3B
+
+/**
+  * @brief  qspi_flash_init  (QUAD MODE)
+  * @param  none
+  * @return none
+  */
+void qspi_flash_init(void);
+
+#endif
\ No newline at end of file
Index: yc_flashInit.c
===================================================================
--- /YC3121_SDK/fw/sdk/yc_flashInit.c	(nonexistent)
+++ /YC3121_SDK/fw/sdk/yc_flashInit.c	(working copy)
@@ -0,0 +1,22 @@
+#include "yc_flash.h"
+
+static void _qspi_flash_init(void)
+{
+    QSPI_CTRL = QSPI_QUAD_MODE;
+    GPIO_CONFIG(QSPI_IO_0)    = GPCFG_QSPI_IO0;
+    GPIO_CONFIG(QSPI_IO_1)    = GPCFG_QSPI_IO1;
+    GPIO_CONFIG(QSPI_IO_2)    = GPCFG_QSPI_IO2;
+    GPIO_CONFIG(QSPI_IO_3)    = GPCFG_QSPI_IO3;
+    GPIO_CONFIG(QSPI_IO_SCK)  = GPCFG_QSPI_SCK;
+    GPIO_CONFIG(QSPI_IO_NCS) = GPCFG_QSPI_NCS;
+    ((void(*)(uint8_t on))(0x4794 + 1))(1);
+}
+
+void qspi_flash_init(void)
+{
+    __asm("CPSID i");
+    prefetch(_qspi_flash_init, _qspi_flash_init + 0x100);
+    _qspi_flash_init();
+    __asm("CPSIE i");
+}
+
