summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRbb666 <[email protected]>2024-04-11 17:45:38 +0800
committerMeco Man <[email protected]>2024-04-11 18:50:23 -0400
commit90f4d94ce82fb354e2ac455b52e18c4e0ceee50f (patch)
treec24d7b44e78ee1d57a980d22a180d691ba3e08a3
parenta93722c3e1394ce2135c856b704be76cc6a8bea9 (diff)
Add ek-ra8d1 rw007 support.
-rw-r--r--bsp/renesas/ra8d1-ek/board/Kconfig37
-rw-r--r--bsp/renesas/ra8d1-ek/board/ports/gpio_cfg.h29
-rw-r--r--bsp/renesas/ra8d1-ek/board/ports/omv_fs/ff.h49
-rw-r--r--bsp/renesas/ra8d1-ek/board/ports/wifi/SConscript22
-rw-r--r--bsp/renesas/ra8d1-ek/board/ports/wifi/drv_rw007.c65
-rw-r--r--bsp/renesas/ra8d1-vision-board/board/ports/gpio_cfg.h31
-rw-r--r--bsp/renesas/ra8m1-ek/board/ports/gpio_cfg.h29
7 files changed, 188 insertions, 74 deletions
diff --git a/bsp/renesas/ra8d1-ek/board/Kconfig b/bsp/renesas/ra8d1-ek/board/Kconfig
index f863c603f3..b65f9228de 100644
--- a/bsp/renesas/ra8d1-ek/board/Kconfig
+++ b/bsp/renesas/ra8d1-ek/board/Kconfig
@@ -607,4 +607,41 @@ menu "Hardware Drivers Config"
select RT_USING_NETDEV
default n
endmenu
+ menu "Board extended module Drivers"
+ menuconfig BSP_USING_RW007
+ bool "Enable RW007"
+ default n
+ select PKG_USING_RW007
+ select BSP_USING_SCI
+ select BSP_USING_SCI2
+ select BSP_USING_SCI2_SPI
+ select RT_USING_MEMPOOL
+ select RW007_NOT_USE_EXAMPLE_DRIVERS
+
+ if BSP_USING_RW007
+ config RA_RW007_SPI_BUS_NAME
+ string "RW007 BUS NAME"
+ default "scpi2"
+
+ config RA_RW007_CS_PIN
+ hex "(HEX)CS pin index"
+ default 0x0A05
+
+ config RA_RW007_BOOT0_PIN
+ hex "(HEX)BOOT0 pin index (same as spi clk pin)"
+ default 0x0A04
+
+ config RA_RW007_BOOT1_PIN
+ hex "(HEX)BOOT1 pin index (same as spi cs pin)"
+ default 0x0A05
+
+ config RA_RW007_INT_BUSY_PIN
+ hex "(HEX)INT/BUSY pin index"
+ default 0x0508
+
+ config RA_RW007_RST_PIN
+ hex "(HEX)RESET pin index"
+ default 0x0809
+ endif
+ endmenu
endmenu
diff --git a/bsp/renesas/ra8d1-ek/board/ports/gpio_cfg.h b/bsp/renesas/ra8d1-ek/board/ports/gpio_cfg.h
index a85c88569a..f0e6c8f75d 100644
--- a/bsp/renesas/ra8d1-ek/board/ports/gpio_cfg.h
+++ b/bsp/renesas/ra8d1-ek/board/ports/gpio_cfg.h
@@ -19,50 +19,62 @@
case BSP_IO_PORT_04_PIN_00: \
case BSP_IO_PORT_02_PIN_06: \
case BSP_IO_PORT_01_PIN_05: \
+ case BSP_IO_PORT_08_PIN_06: \
return 0; \
- case BSP_IO_PORT_02_PIN_05: \
+ case BSP_IO_PORT_05_PIN_08: \
case BSP_IO_PORT_01_PIN_01: \
case BSP_IO_PORT_01_PIN_04: \
return 1; \
- case BSP_IO_PORT_02_PIN_03: \
+ case BSP_IO_PORT_05_PIN_09: \
case BSP_IO_PORT_01_PIN_00: \
case BSP_IO_PORT_02_PIN_13: \
return 2; \
- case BSP_IO_PORT_02_PIN_02: \
- case BSP_IO_PORT_01_PIN_10: \
+ case BSP_IO_PORT_02_PIN_08: \
+ case BSP_IO_PORT_05_PIN_10: \
case BSP_IO_PORT_02_PIN_12: \
return 3; \
case BSP_IO_PORT_04_PIN_02: \
- case BSP_IO_PORT_01_PIN_11: \
+ case BSP_IO_PORT_03_PIN_00: \
case BSP_IO_PORT_04_PIN_11: \
+ case BSP_IO_PORT_10_PIN_10: \
return 4; \
case BSP_IO_PORT_04_PIN_01: \
case BSP_IO_PORT_03_PIN_02: \
case BSP_IO_PORT_04_PIN_10: \
+ case BSP_IO_PORT_10_PIN_09: \
return 5; \
case BSP_IO_PORT_03_PIN_01: \
case BSP_IO_PORT_00_PIN_00: \
case BSP_IO_PORT_04_PIN_09: \
+ case BSP_IO_PORT_10_PIN_08: \
return 6; \
case BSP_IO_PORT_00_PIN_01: \
case BSP_IO_PORT_04_PIN_08: \
+ case BSP_IO_PORT_06_PIN_15: \
+ case BSP_IO_PORT_07_PIN_06: \
return 7; \
case BSP_IO_PORT_00_PIN_02: \
case BSP_IO_PORT_03_PIN_05: \
case BSP_IO_PORT_04_PIN_15: \
+ case BSP_IO_PORT_07_PIN_07: \
+ case BSP_IO_PORT_09_PIN_05: \
return 8; \
case BSP_IO_PORT_00_PIN_04: \
case BSP_IO_PORT_03_PIN_04: \
case BSP_IO_PORT_04_PIN_14: \
+ case BSP_IO_PORT_09_PIN_06: \
return 9; \
case BSP_IO_PORT_00_PIN_05: \
case BSP_IO_PORT_07_PIN_09: \
+ case BSP_IO_PORT_09_PIN_07: \
return 10; \
case BSP_IO_PORT_05_PIN_01: \
case BSP_IO_PORT_00_PIN_06: \
case BSP_IO_PORT_07_PIN_08: \
+ case BSP_IO_PORT_08_PIN_00: \
+ case BSP_IO_PORT_09_PIN_08: \
return 11; \
- case BSP_IO_PORT_05_PIN_02: \
+ case BSP_IO_PORT_08_PIN_01: \
case BSP_IO_PORT_00_PIN_08: \
return 12; \
case BSP_IO_PORT_00_PIN_15: \
@@ -70,11 +82,12 @@
return 13; \
case BSP_IO_PORT_04_PIN_03: \
case BSP_IO_PORT_05_PIN_12: \
- case BSP_IO_PORT_05_PIN_05: \
+ case BSP_IO_PORT_08_PIN_04: \
+ case BSP_IO_PORT_00_PIN_10: \
return 14; \
case BSP_IO_PORT_04_PIN_04: \
case BSP_IO_PORT_05_PIN_11: \
- case BSP_IO_PORT_05_PIN_06: \
+ case BSP_IO_PORT_08_PIN_08: \
return 15; \
default : \
return -1; \
diff --git a/bsp/renesas/ra8d1-ek/board/ports/omv_fs/ff.h b/bsp/renesas/ra8d1-ek/board/ports/omv_fs/ff.h
deleted file mode 100644
index 8bf0155c91..0000000000
--- a/bsp/renesas/ra8d1-ek/board/ports/omv_fs/ff.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef __OMV_FF_H__
-#define __OMV_FF_H__
-
-#include "dfs_file.h"
-
-typedef struct dfs_file FIL;
-typedef char TCHAR;
-typedef unsigned int UINT;
-typedef unsigned char BYTE;
-
-typedef int FF_DIR;
-typedef struct stat FILINFO;
-
-typedef enum {
- FR_OK = 0, /* (0) Succeeded */
- FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */
- FR_INT_ERR, /* (2) Assertion failed */
- FR_NOT_READY, /* (3) The physical drive cannot work */
- FR_NO_FILE, /* (4) Could not find the file */
- FR_NO_PATH, /* (5) Could not find the path */
- FR_INVALID_NAME, /* (6) The path name format is invalid */
- FR_DENIED, /* (7) Access denied due to prohibited access or directory full */
- FR_EXIST, /* (8) Access denied due to prohibited access */
- FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */
- FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */
- FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */
- FR_NOT_ENABLED, /* (12) The volume has no work area */
- FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */
- FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any problem */
- FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */
- FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */
- FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */
- FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > _FS_LOCK */
- FR_INVALID_PARAMETER /* (19) Given parameter is invalid */
-} FRESULT;
-
-/* File access mode and open method flags (3rd argument of f_open) */
-#define FA_READ 0x01
-#define FA_WRITE 0x02
-#define FA_OPEN_EXISTING 0x00
-#define FA_CREATE_NEW 0x04
-#define FA_CREATE_ALWAYS 0x08
-#define FA_OPEN_ALWAYS 0x10
-#define FA_OPEN_APPEND 0x30
-
-#define f_eof(fp) ((int)((fp)->pos == (fp)->vnode->size))
-#define f_tell(fp) ((fp)->pos)
-#define f_size(fp) ((fp)->vnode->size)
-#endif
diff --git a/bsp/renesas/ra8d1-ek/board/ports/wifi/SConscript b/bsp/renesas/ra8d1-ek/board/ports/wifi/SConscript
new file mode 100644
index 0000000000..9e73f9555d
--- /dev/null
+++ b/bsp/renesas/ra8d1-ek/board/ports/wifi/SConscript
@@ -0,0 +1,22 @@
+
+from building import *
+import rtconfig
+
+cwd = GetCurrentDir()
+
+src = []
+
+if GetDepend(['BSP_USING_RW007']):
+ src += Glob('drv_rw007.c')
+
+CPPPATH = [cwd]
+LOCAL_CFLAGS = ''
+
+if rtconfig.PLATFORM in ['gcc', 'armclang']:
+ LOCAL_CFLAGS += ' -std=c99'
+elif rtconfig.PLATFORM in ['armcc']:
+ LOCAL_CFLAGS += ' --c99'
+
+group = DefineGroup('Drivers', src, depend = [], CPPPATH = CPPPATH, LOCAL_CFLAGS = LOCAL_CFLAGS)
+
+Return('group')
diff --git a/bsp/renesas/ra8d1-ek/board/ports/wifi/drv_rw007.c b/bsp/renesas/ra8d1-ek/board/ports/wifi/drv_rw007.c
new file mode 100644
index 0000000000..3936a13d61
--- /dev/null
+++ b/bsp/renesas/ra8d1-ek/board/ports/wifi/drv_rw007.c
@@ -0,0 +1,65 @@
+#include <rtthread.h>
+#include <rtdbg.h>
+#ifdef BSP_USING_RW007
+#include <rtdevice.h>
+#include <drv_sci_spi.h>
+#include <board.h>
+#include <spi_wifi_rw007.h>
+
+extern void spi_wifi_isr(int vector);
+
+static void rw007_gpio_init(void)
+{
+ /* Configure IO */
+ rt_pin_mode(RA_RW007_RST_PIN, PIN_MODE_OUTPUT);
+ rt_pin_mode(RA_RW007_INT_BUSY_PIN, PIN_MODE_INPUT_PULLDOWN);
+
+ /* Reset rw007 and config mode */
+ rt_pin_write(RA_RW007_RST_PIN, PIN_LOW);
+ rt_thread_delay(rt_tick_from_millisecond(100));
+ rt_pin_write(RA_RW007_RST_PIN, PIN_HIGH);
+
+ /* Wait rw007 ready(exit busy stat) */
+ while (!rt_pin_read(RA_RW007_INT_BUSY_PIN))
+ {
+ rt_thread_delay(5);
+ }
+
+ rt_thread_delay(rt_tick_from_millisecond(200));
+ rt_pin_mode(RA_RW007_INT_BUSY_PIN, PIN_MODE_INPUT_PULLUP);
+}
+
+int wifi_spi_device_init(void)
+{
+ char sn_version[32];
+ uint32_t cs_pin = RA_RW007_CS_PIN;
+
+ rw007_gpio_init();
+ rt_hw_sci_spi_device_attach(RA_RW007_SPI_BUS_NAME, "wspi", cs_pin);
+ rt_hw_wifi_init("wspi");
+
+ rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION);
+ rt_wlan_set_mode(RT_WLAN_DEVICE_AP_NAME, RT_WLAN_AP);
+
+ rw007_sn_get(sn_version);
+ rt_kprintf("\nrw007 sn: [%s]\n", sn_version);
+ rw007_version_get(sn_version);
+ rt_kprintf("rw007 ver: [%s]\n\n", sn_version);
+
+ return 0;
+}
+INIT_APP_EXPORT(wifi_spi_device_init);
+
+static void int_wifi_irq(void *p)
+{
+ ((void)p);
+ spi_wifi_isr(0);
+}
+
+void spi_wifi_hw_init(void)
+{
+ rt_pin_attach_irq(RA_RW007_INT_BUSY_PIN, PIN_IRQ_MODE_FALLING, int_wifi_irq, 0);
+ rt_pin_irq_enable(RA_RW007_INT_BUSY_PIN, RT_TRUE);
+}
+
+#endif /* BSP_USING_RW007 */
diff --git a/bsp/renesas/ra8d1-vision-board/board/ports/gpio_cfg.h b/bsp/renesas/ra8d1-vision-board/board/ports/gpio_cfg.h
index 07a197fb0f..f0e6c8f75d 100644
--- a/bsp/renesas/ra8d1-vision-board/board/ports/gpio_cfg.h
+++ b/bsp/renesas/ra8d1-vision-board/board/ports/gpio_cfg.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2024, RT-Thread Development Team
+ * Copyright (c) 2006-2023, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -19,50 +19,62 @@
case BSP_IO_PORT_04_PIN_00: \
case BSP_IO_PORT_02_PIN_06: \
case BSP_IO_PORT_01_PIN_05: \
+ case BSP_IO_PORT_08_PIN_06: \
return 0; \
- case BSP_IO_PORT_02_PIN_05: \
+ case BSP_IO_PORT_05_PIN_08: \
case BSP_IO_PORT_01_PIN_01: \
case BSP_IO_PORT_01_PIN_04: \
return 1; \
- case BSP_IO_PORT_02_PIN_03: \
+ case BSP_IO_PORT_05_PIN_09: \
case BSP_IO_PORT_01_PIN_00: \
case BSP_IO_PORT_02_PIN_13: \
return 2; \
- case BSP_IO_PORT_02_PIN_02: \
- case BSP_IO_PORT_01_PIN_10: \
+ case BSP_IO_PORT_02_PIN_08: \
+ case BSP_IO_PORT_05_PIN_10: \
case BSP_IO_PORT_02_PIN_12: \
return 3; \
case BSP_IO_PORT_04_PIN_02: \
- case BSP_IO_PORT_01_PIN_11: \
+ case BSP_IO_PORT_03_PIN_00: \
case BSP_IO_PORT_04_PIN_11: \
+ case BSP_IO_PORT_10_PIN_10: \
return 4; \
case BSP_IO_PORT_04_PIN_01: \
case BSP_IO_PORT_03_PIN_02: \
case BSP_IO_PORT_04_PIN_10: \
+ case BSP_IO_PORT_10_PIN_09: \
return 5; \
case BSP_IO_PORT_03_PIN_01: \
case BSP_IO_PORT_00_PIN_00: \
case BSP_IO_PORT_04_PIN_09: \
+ case BSP_IO_PORT_10_PIN_08: \
return 6; \
case BSP_IO_PORT_00_PIN_01: \
case BSP_IO_PORT_04_PIN_08: \
+ case BSP_IO_PORT_06_PIN_15: \
+ case BSP_IO_PORT_07_PIN_06: \
return 7; \
case BSP_IO_PORT_00_PIN_02: \
case BSP_IO_PORT_03_PIN_05: \
case BSP_IO_PORT_04_PIN_15: \
+ case BSP_IO_PORT_07_PIN_07: \
+ case BSP_IO_PORT_09_PIN_05: \
return 8; \
case BSP_IO_PORT_00_PIN_04: \
case BSP_IO_PORT_03_PIN_04: \
case BSP_IO_PORT_04_PIN_14: \
+ case BSP_IO_PORT_09_PIN_06: \
return 9; \
case BSP_IO_PORT_00_PIN_05: \
case BSP_IO_PORT_07_PIN_09: \
+ case BSP_IO_PORT_09_PIN_07: \
return 10; \
case BSP_IO_PORT_05_PIN_01: \
case BSP_IO_PORT_00_PIN_06: \
case BSP_IO_PORT_07_PIN_08: \
+ case BSP_IO_PORT_08_PIN_00: \
+ case BSP_IO_PORT_09_PIN_08: \
return 11; \
- case BSP_IO_PORT_05_PIN_02: \
+ case BSP_IO_PORT_08_PIN_01: \
case BSP_IO_PORT_00_PIN_08: \
return 12; \
case BSP_IO_PORT_00_PIN_15: \
@@ -70,11 +82,12 @@
return 13; \
case BSP_IO_PORT_04_PIN_03: \
case BSP_IO_PORT_05_PIN_12: \
- case BSP_IO_PORT_05_PIN_05: \
+ case BSP_IO_PORT_08_PIN_04: \
+ case BSP_IO_PORT_00_PIN_10: \
return 14; \
case BSP_IO_PORT_04_PIN_04: \
case BSP_IO_PORT_05_PIN_11: \
- case BSP_IO_PORT_05_PIN_06: \
+ case BSP_IO_PORT_08_PIN_08: \
return 15; \
default : \
return -1; \
diff --git a/bsp/renesas/ra8m1-ek/board/ports/gpio_cfg.h b/bsp/renesas/ra8m1-ek/board/ports/gpio_cfg.h
index a85c88569a..f0e6c8f75d 100644
--- a/bsp/renesas/ra8m1-ek/board/ports/gpio_cfg.h
+++ b/bsp/renesas/ra8m1-ek/board/ports/gpio_cfg.h
@@ -19,50 +19,62 @@
case BSP_IO_PORT_04_PIN_00: \
case BSP_IO_PORT_02_PIN_06: \
case BSP_IO_PORT_01_PIN_05: \
+ case BSP_IO_PORT_08_PIN_06: \
return 0; \
- case BSP_IO_PORT_02_PIN_05: \
+ case BSP_IO_PORT_05_PIN_08: \
case BSP_IO_PORT_01_PIN_01: \
case BSP_IO_PORT_01_PIN_04: \
return 1; \
- case BSP_IO_PORT_02_PIN_03: \
+ case BSP_IO_PORT_05_PIN_09: \
case BSP_IO_PORT_01_PIN_00: \
case BSP_IO_PORT_02_PIN_13: \
return 2; \
- case BSP_IO_PORT_02_PIN_02: \
- case BSP_IO_PORT_01_PIN_10: \
+ case BSP_IO_PORT_02_PIN_08: \
+ case BSP_IO_PORT_05_PIN_10: \
case BSP_IO_PORT_02_PIN_12: \
return 3; \
case BSP_IO_PORT_04_PIN_02: \
- case BSP_IO_PORT_01_PIN_11: \
+ case BSP_IO_PORT_03_PIN_00: \
case BSP_IO_PORT_04_PIN_11: \
+ case BSP_IO_PORT_10_PIN_10: \
return 4; \
case BSP_IO_PORT_04_PIN_01: \
case BSP_IO_PORT_03_PIN_02: \
case BSP_IO_PORT_04_PIN_10: \
+ case BSP_IO_PORT_10_PIN_09: \
return 5; \
case BSP_IO_PORT_03_PIN_01: \
case BSP_IO_PORT_00_PIN_00: \
case BSP_IO_PORT_04_PIN_09: \
+ case BSP_IO_PORT_10_PIN_08: \
return 6; \
case BSP_IO_PORT_00_PIN_01: \
case BSP_IO_PORT_04_PIN_08: \
+ case BSP_IO_PORT_06_PIN_15: \
+ case BSP_IO_PORT_07_PIN_06: \
return 7; \
case BSP_IO_PORT_00_PIN_02: \
case BSP_IO_PORT_03_PIN_05: \
case BSP_IO_PORT_04_PIN_15: \
+ case BSP_IO_PORT_07_PIN_07: \
+ case BSP_IO_PORT_09_PIN_05: \
return 8; \
case BSP_IO_PORT_00_PIN_04: \
case BSP_IO_PORT_03_PIN_04: \
case BSP_IO_PORT_04_PIN_14: \
+ case BSP_IO_PORT_09_PIN_06: \
return 9; \
case BSP_IO_PORT_00_PIN_05: \
case BSP_IO_PORT_07_PIN_09: \
+ case BSP_IO_PORT_09_PIN_07: \
return 10; \
case BSP_IO_PORT_05_PIN_01: \
case BSP_IO_PORT_00_PIN_06: \
case BSP_IO_PORT_07_PIN_08: \
+ case BSP_IO_PORT_08_PIN_00: \
+ case BSP_IO_PORT_09_PIN_08: \
return 11; \
- case BSP_IO_PORT_05_PIN_02: \
+ case BSP_IO_PORT_08_PIN_01: \
case BSP_IO_PORT_00_PIN_08: \
return 12; \
case BSP_IO_PORT_00_PIN_15: \
@@ -70,11 +82,12 @@
return 13; \
case BSP_IO_PORT_04_PIN_03: \
case BSP_IO_PORT_05_PIN_12: \
- case BSP_IO_PORT_05_PIN_05: \
+ case BSP_IO_PORT_08_PIN_04: \
+ case BSP_IO_PORT_00_PIN_10: \
return 14; \
case BSP_IO_PORT_04_PIN_04: \
case BSP_IO_PORT_05_PIN_11: \
- case BSP_IO_PORT_05_PIN_06: \
+ case BSP_IO_PORT_08_PIN_08: \
return 15; \
default : \
return -1; \