diff options
| author | Bernard Xiong <[email protected]> | 2019-03-19 16:30:12 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-03-19 16:30:12 +0800 |
| commit | 39ea58e7023bba708cb7a77165020cb26aafab8c (patch) | |
| tree | e88673aa1d78a37639feddf5ad32a0b45c1876df | |
| parent | 56c8f8bcc2dafc3099d91b9b604bbe5a825c4be3 (diff) | |
| parent | 6eebc0e7189f46790eed2e4d0fe05f64ced52fa7 (diff) | |
Merge pull request #2468 from lymzzyh/gpio
[BSP][K210]Add gpio drivers
| -rw-r--r-- | bsp/k210/.config | 104 | ||||
| -rw-r--r-- | bsp/k210/applications/mnt.c | 3 | ||||
| -rw-r--r-- | bsp/k210/driver/Kconfig | 2 | ||||
| -rw-r--r-- | bsp/k210/driver/SConscript | 13 | ||||
| -rw-r--r-- | bsp/k210/driver/drv_gpio.c | 267 | ||||
| -rw-r--r-- | bsp/k210/driver/drv_gpio.h | 16 | ||||
| -rw-r--r-- | bsp/k210/driver/drv_io_config.h | 1 | ||||
| -rw-r--r-- | bsp/k210/rtconfig.h | 91 | ||||
| -rw-r--r-- | bsp/k210/rtconfig.py | 2 |
9 files changed, 378 insertions, 121 deletions
diff --git a/bsp/k210/.config b/bsp/k210/.config index ba91c1ab93..6d791c8da2 100644 --- a/bsp/k210/.config +++ b/bsp/k210/.config @@ -112,7 +112,23 @@ CONFIG_DFS_FILESYSTEMS_MAX=4 CONFIG_DFS_FILESYSTEM_TYPES_MAX=4 CONFIG_DFS_FD_MAX=16 # CONFIG_RT_USING_DFS_MNTTABLE is not set -# CONFIG_RT_USING_DFS_ELMFAT is not set +CONFIG_RT_USING_DFS_ELMFAT=y + +# +# elm-chan's FatFs, Generic FAT Filesystem Module +# +CONFIG_RT_DFS_ELM_CODE_PAGE=437 +CONFIG_RT_DFS_ELM_WORD_ACCESS=y +# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set +# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set +# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set +CONFIG_RT_DFS_ELM_USE_LFN_3=y +CONFIG_RT_DFS_ELM_USE_LFN=3 +CONFIG_RT_DFS_ELM_MAX_LFN=255 +CONFIG_RT_DFS_ELM_DRIVES=2 +CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512 +# CONFIG_RT_DFS_ELM_USE_ERASE is not set +CONFIG_RT_DFS_ELM_REENTRANT=y CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set @@ -131,7 +147,7 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64 # CONFIG_RT_USING_HWTIMER is not set # CONFIG_RT_USING_CPUTIME is not set # CONFIG_RT_USING_I2C is not set -# CONFIG_RT_USING_PIN is not set +CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_ADC is not set # CONFIG_RT_USING_PWM is not set # CONFIG_RT_USING_MTD_NOR is not set @@ -140,7 +156,14 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64 # CONFIG_RT_USING_PM is not set # CONFIG_RT_USING_RTC is not set # CONFIG_RT_USING_SDIO is not set -# CONFIG_RT_USING_SPI is not set +CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_QSPI is not set +CONFIG_RT_USING_SPI_MSD=y +# CONFIG_RT_USING_SFUD is not set +# CONFIG_RT_USING_W25QXX is not set +# CONFIG_RT_USING_GD is not set +# CONFIG_RT_USING_ENC28J60 is not set +# CONFIG_RT_USING_SPI_WIFI is not set # CONFIG_RT_USING_WDT is not set # CONFIG_RT_USING_AUDIO is not set # CONFIG_RT_USING_SENSOR is not set @@ -218,6 +241,7 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_CJSON is not set # CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_LJSON is not set # CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set @@ -327,6 +351,7 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_MPU6XXX is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set +# CONFIG_PKG_USING_SIGNAL_LED is not set CONFIG_PKG_USING_KENDRYTE_SDK=y CONFIG_PKG_KENDRYTE_SDK_PATH="/packages/peripherals/kendryte-sdk" CONFIG_PKG_USING_KENDRYTE_SDK_V052=y @@ -357,74 +382,22 @@ CONFIG_PKG_KENDRYTE_SDK_VER="v0.5.2" # CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set # CONFIG_PKG_USING_HELLO is not set # CONFIG_PKG_USING_VI is not set - -# -# Privated Packages of RealThread -# -# CONFIG_PKG_USING_CODEC is not set -# CONFIG_PKG_USING_PLAYER is not set -# CONFIG_PKG_USING_MPLAYER is not set -# CONFIG_PKG_USING_PERSIMMON_SRC is not set -# CONFIG_PKG_USING_JS_PERSIMMON is not set -# CONFIG_PKG_USING_JERRYSCRIPT_WIN32 is not set - -# -# Network Utilities -# -# CONFIG_PKG_USING_WICED is not set -# CONFIG_PKG_USING_CLOUDSDK is not set -# CONFIG_PKG_USING_COREMARK is not set -# CONFIG_PKG_USING_POWER_MANAGER is not set -# CONFIG_PKG_USING_RT_OTA is not set -# CONFIG_PKG_USING_RDBD_SRC is not set -# CONFIG_PKG_USING_RTINSIGHT is not set -# CONFIG_PKG_USING_SMARTCONFIG is not set -# CONFIG_PKG_USING_RTX is not set -# CONFIG_RT_USING_TESTCASE is not set -# CONFIG_PKG_USING_NGHTTP2 is not set -# CONFIG_PKG_USING_AVS is not set -# CONFIG_PKG_USING_STS is not set -# CONFIG_PKG_USING_DLMS is not set - -# -# Test Packages of RealThread -# - -# -# RT-Thread Senior Membership Packages -# - -# -# system packages -# -# CONFIG_PKG_USING_FTL_SRC is not set - -# -# IoT - internet of things -# - -# -# Webnet: A web server package for rt-thread -# - -# -# rtpkgs online packages -# -# CONFIG_PKG_USING_CSTRING is not set -# CONFIG_PKG_USING_ARGPARSE is not set -# CONFIG_PKG_USING_LIBBMPREAD is not set -# CONFIG_PKG_USING_LIBUTILS is not set -# CONFIG_PKG_USING_SAM is not set -# CONFIG_PKG_USING_LIBCALLBACK is not set -# CONFIG_PKG_USING_Z_EVENT is not set -# CONFIG_PKG_USING_LIBSTM32HAL is not set CONFIG_BOARD_K210_EVB=y CONFIG_BSP_USING_UART_HS=y # CONFIG_BSP_USING_UART1 is not set # CONFIG_BSP_USING_UART2 is not set # CONFIG_BSP_USING_UART3 is not set # CONFIG_BSP_USING_I2C1 is not set -# CONFIG_BSP_USING_SPI1 is not set +CONFIG_BSP_USING_SPI1=y +# CONFIG_BSP_USING_SPI1_AS_QSPI is not set +CONFIG_BSP_SPI1_CLK_PIN=29 +CONFIG_BSP_SPI1_D0_PIN=30 +CONFIG_BSP_SPI1_D1_PIN=31 +CONFIG_BSP_SPI1_USING_SS0=y +CONFIG_BSP_SPI1_SS0_PIN=32 +# CONFIG_BSP_SPI1_USING_SS1 is not set +# CONFIG_BSP_SPI1_USING_SS2 is not set +# CONFIG_BSP_SPI1_USING_SS3 is not set CONFIG_BSP_USING_LCD=y CONFIG_BSP_LCD_CS_PIN=6 CONFIG_BSP_LCD_WR_PIN=7 @@ -439,4 +412,5 @@ CONFIG_BSP_CAMERA_CMOS_VSYNC_PIN=12 CONFIG_BSP_CAMERA_CMOS_PWDN_PIN=13 CONFIG_BSP_CAMERA_CMOS_XCLK_PIN=14 CONFIG_BSP_CAMERA_CMOS_PCLK_PIN=15 +CONFIG_BSP_CAMERA_CMOS_HREF_PIN=17 CONFIG___STACKSIZE__=4096 diff --git a/bsp/k210/applications/mnt.c b/bsp/k210/applications/mnt.c index 29557d71b2..0ded757117 100644 --- a/bsp/k210/applications/mnt.c +++ b/bsp/k210/applications/mnt.c @@ -8,6 +8,7 @@ */ #include <rtthread.h> +#if defined(RT_USING_SPI_MSD) && defined(RT_USING_DFS_ELMFAT) #include <spi_msd.h> #include <dfs_fs.h> int mnt_init(void) @@ -20,3 +21,5 @@ int mnt_init(void) return 0; } INIT_ENV_EXPORT(mnt_init); +#endif + diff --git a/bsp/k210/driver/Kconfig b/bsp/k210/driver/Kconfig index 7ba893a6f0..4d38a7c9b2 100644 --- a/bsp/k210/driver/Kconfig +++ b/bsp/k210/driver/Kconfig @@ -50,7 +50,7 @@ if BSP_USING_SPI1 if BSP_SPI1_USING_SS0 config BSP_SPI1_SS0_PIN int "spi1 ss0 pin number" - default 24 + default 32 endif menuconfig BSP_SPI1_USING_SS1 bool "SPI1 Enable SS1" diff --git a/bsp/k210/driver/SConscript b/bsp/k210/driver/SConscript index 30eca625f9..75a634227a 100644 --- a/bsp/k210/driver/SConscript +++ b/bsp/k210/driver/SConscript @@ -11,6 +11,9 @@ drv_io_config.c ''') CPPPATH = [cwd] +if GetDepend('RT_USING_PIN'): + src += ['drv_gpio.c'] + if GetDepend('BSP_USING_LCD'): src += ['drv_lcd.c'] @@ -34,4 +37,12 @@ if GetDepend('RT_USING_WDT'): group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) -Return('group') +objs = [group] + +list = os.listdir(cwd) + +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + objs = objs + SConscript(os.path.join(item, 'SConscript')) + +Return('objs') diff --git a/bsp/k210/driver/drv_gpio.c b/bsp/k210/driver/drv_gpio.c new file mode 100644 index 0000000000..376fa3e1b1 --- /dev/null +++ b/bsp/k210/driver/drv_gpio.c @@ -0,0 +1,267 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2019-03-19 ZYH first version + */ + +#include <rtthread.h> +#include <rtdevice.h> +#include <fpioa.h> +#include <gpiohs.h> +#include "drv_gpio.h" +#include "drv_io_config.h" +#include <plic.h> +#include <rthw.h> +#include <utils.h> +#include <string.h> + +#define DBG_ENABLE +#define DBG_SECTION_NAME "PIN" +#define DBG_LEVEL DBG_WARNING +#define DBG_COLOR +#include <rtdbg.h> + +#define FUNC_GPIOHS(n) (FUNC_GPIOHS0 + n) + +static int pin_alloc_table[FPIOA_NUM_IO]; +static uint32_t free_pin = 0; + +static int alloc_pin_channel(rt_base_t pin_index) +{ + if(free_pin == 31) + { + LOG_E("no free gpiohs channel to alloc"); + return -1; + } + + if(pin_alloc_table[pin_index] != -1) + { + LOG_W("already alloc gpiohs channel for pin %d", pin_index); + return pin_alloc_table[pin_index]; + } + + pin_alloc_table[pin_index] = free_pin; + free_pin++; + + fpioa_set_function(pin_index, FUNC_GPIOHS(pin_alloc_table[pin_index])); + return pin_alloc_table[pin_index]; +} + +static int get_pin_channel(rt_base_t pin_index) +{ + return pin_alloc_table[pin_index]; +} + +static void free_pin_channel(rt_base_t pin_index) +{ + if(pin_alloc_table[pin_index] == -1) + { + LOG_W("free error:not alloc gpiohs channel for pin %d", pin_index); + return; + } + pin_alloc_table[pin_index] = -1; + free_pin--; +} + + +static void drv_pin_mode(struct rt_device *device, rt_base_t pin, rt_base_t mode) +{ + int pin_channel = get_pin_channel(pin); + if(pin_channel == -1) + { + pin_channel = alloc_pin_channel(pin); + if(pin_channel == -1) + { + return; + } + } + + switch (mode) + { + case PIN_MODE_OUTPUT: + gpiohs_set_drive_mode(pin_channel, GPIO_DM_OUTPUT); + break; + case PIN_MODE_INPUT: + gpiohs_set_drive_mode(pin_channel, GPIO_DM_INPUT); + break; + case PIN_MODE_INPUT_PULLUP: + gpiohs_set_drive_mode(pin_channel, GPIO_DM_INPUT_PULL_UP); + break; + case PIN_MODE_INPUT_PULLDOWN: + gpiohs_set_drive_mode(pin_channel, GPIO_DM_INPUT_PULL_DOWN); + break; + default: + LOG_E("Not support mode %d", mode); + break; + } +} + +static void drv_pin_write(struct rt_device *device, rt_base_t pin, rt_base_t value) +{ + int pin_channel = get_pin_channel(pin); + if(pin_channel == -1) + { + LOG_E("pin %d not set mode", pin); + return; + } + gpiohs_set_pin(pin_channel, value == PIN_HIGH ? GPIO_PV_HIGH : GPIO_PV_LOW); +} + +static int drv_pin_read(struct rt_device *device, rt_base_t pin) +{ + int pin_channel = get_pin_channel(pin); + if(pin_channel == -1) + { + LOG_E("pin %d not set mode", pin); + return -1; + } + return gpiohs_get_pin(pin_channel) == GPIO_PV_HIGH ? PIN_HIGH : PIN_LOW; +} + +static struct +{ + void (*hdr)(void *args); + void *args; + gpio_pin_edge_t edge; +} irq_table[32]; + +static void pin_irq(int vector, void *param) +{ + int pin_channel = vector - IRQN_GPIOHS0_INTERRUPT; + if(irq_table[pin_channel].edge & GPIO_PE_FALLING) + { + set_gpio_bit(gpiohs->fall_ie.u32, pin_channel, 0); + set_gpio_bit(gpiohs->fall_ip.u32, pin_channel, 1); + set_gpio_bit(gpiohs->fall_ie.u32, pin_channel, 1); + } + + if(irq_table[pin_channel 2019-03-18 ZYH first version].edge & GPIO_PE_RISING) + { + set_gpio_bit(gpiohs->rise_ie.u32, pin_channel, 0); + set_gpio_bit(gpiohs->rise_ip.u32, pin_channel, 1); + set_gpio_bit(gpiohs->rise_ie.u32, pin_channel, 1); + } + + if(irq_table[pin_channel].edge & GPIO_PE_LOW) + { + set_gpio_bit(gpiohs->low_ie.u32, pin_channel, 0); + set_gpio_bit(gpiohs->low_ip.u32, pin_channel, 1); + set_gpio_bit(gpiohs->low_ie.u32, pin_channel, 1); + } + + if(irq_table[pin_channel].edge & GPIO_PE_HIGH) + { + set_gpio_bit(gpiohs->high_ie.u32, pin_channel, 0); + set_gpio_bit(gpiohs->high_ip.u32, pin_channel, 1); + set_gpio_bit(gpiohs->high_ie.u32, pin_channel, 1); + } + if(irq_table[pin_channel].hdr) + { + irq_table[pin_channel].hdr(irq_table[pin_channel].args); + } +} + +static rt_err_t drv_pin_attach_irq(struct rt_device *device, rt_int32_t pin, + rt_uint32_t mode, void (*hdr)(void *args), void *args) +{ + int pin_channel = get_pin_channel(pin); + char irq_name[10]; + if(pin_channel == -1) + { + LOG_E("pin %d not set mode", pin); + return -RT_ERROR; + } + irq_table[pin_channel].hdr = hdr; + irq_table[pin_channel].args = args; + switch (mode) + { + case PIN_IRQ_MODE_RISING: + irq_table[pin_channel].edge = GPIO_PE_FALLING; + break; + case PIN_IRQ_MODE_FALLING: + irq_table[pin_channel].edge = GPIO_PE_RISING; + break; + case PIN_IRQ_MODE_RISING_FALLING: + irq_table[pin_channel].edge = GPIO_PE_BOTH; + break; + case PIN_IRQ_MODE_HIGH_LEVEL: + irq_table[pin_channel].edge = GPIO_PE_LOW; + break; + case PIN_IRQ_MODE_LOW_LEVEL: + irq_table[pin_channel].edge = GPIO_PE_HIGH; + break; + default: + break; + } + gpiohs_set_pin_edge(pin_channel, irq_table[pin_channel].edge); + rt_snprintf(irq_name, sizeof irq_name, "pin%d", pin); + rt_hw_interrupt_install(IRQN_GPIOHS0_INTERRUPT + pin_channel, pin_irq, RT_NULL, irq_name); + + return RT_EOK; +} + +static rt_err_t drv_pin_detach_irq(struct rt_device *device, rt_int32_t pin) +{ + rt_err_t ret = RT_EOK; + + int pin_channel = get_pin_channel(pin); + if(pin_channel == -1) + { + LOG_E("pin %d not set mode", pin); + return -RT_ERROR; + } + + irq_table[pin_channel].hdr = RT_NULL; + irq_table[pin_channel].args = RT_NULL; + + return ret; +} + +static rt_err_t drv_pin_irq_enable(struct rt_device *device, rt_base_t pin, rt_uint32_t enabled) +{ + int pin_channel = get_pin_channel(pin); + + if(pin_channel == -1) + { + LOG_E("pin %d not set mode", pin); + return -RT_ERROR; + } + + if(enabled) + { + rt_hw_interrupt_umask(IRQN_GPIOHS0_INTERRUPT + pin_channel); + } + else + { + rt_hw_interrupt_mask(IRQN_GPIOHS0_INTERRUPT + pin_channel); + } + + return RT_EOK; +} + +const static struct rt_pin_ops drv_pin_ops = +{ + drv_pin_mode, + drv_pin_write, + drv_pin_read, + + drv_pin_attach_irq, + drv_pin_detach_irq, + drv_pin_irq_enable +}; + +int rt_hw_pin_init(void) +{ + rt_err_t ret = RT_EOK; + memset(pin_alloc_table, 0, sizeof pin_alloc_table); + free_pin = GPIO_ALLOC_START; + ret = rt_device_pin_register("pin", &drv_pin_ops, RT_NULL); + + return ret; +} +INIT_BOARD_EXPORT(rt_hw_pin_init); + diff --git a/bsp/k210/driver/drv_gpio.h b/bsp/k210/driver/drv_gpio.h new file mode 100644 index 0000000000..1b4cf4e21a --- /dev/null +++ b/bsp/k210/driver/drv_gpio.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2019-03-19 ZYH first version + */ + +#ifndef DRV_GPIO_H__ +#define DRV_GPIO_H__ + +int rt_hw_pin_init(void); + +#endif
\ No newline at end of file diff --git a/bsp/k210/driver/drv_io_config.h b/bsp/k210/driver/drv_io_config.h index c5c00161fe..52bb8c6e52 100644 --- a/bsp/k210/driver/drv_io_config.h +++ b/bsp/k210/driver/drv_io_config.h @@ -18,6 +18,7 @@ enum HS_GPIO_CONFIG #ifdef BSP_SPI1_USING_SS3 SPI1_CS3_PIN, #endif + GPIO_ALLOC_START /* index of gpio driver start */ }; extern int io_config_init(void); diff --git a/bsp/k210/rtconfig.h b/bsp/k210/rtconfig.h index 6cc8ae9063..e3891e1634 100644 --- a/bsp/k210/rtconfig.h +++ b/bsp/k210/rtconfig.h @@ -105,7 +105,22 @@ #define DFS_FILESYSTEM_TYPES_MAX 4 #define DFS_FD_MAX 16 /* RT_USING_DFS_MNTTABLE is not set */ -/* RT_USING_DFS_ELMFAT is not set */ +#define RT_USING_DFS_ELMFAT + +/* elm-chan's FatFs, Generic FAT Filesystem Module */ + +#define RT_DFS_ELM_CODE_PAGE 437 +#define RT_DFS_ELM_WORD_ACCESS +/* RT_DFS_ELM_USE_LFN_0 is not set */ +/* RT_DFS_ELM_USE_LFN_1 is not set */ +/* RT_DFS_ELM_USE_LFN_2 is not set */ +#define RT_DFS_ELM_USE_LFN_3 +#define RT_DFS_ELM_USE_LFN 3 +#define RT_DFS_ELM_MAX_LFN 255 +#define RT_DFS_ELM_DRIVES 2 +#define RT_DFS_ELM_MAX_SECTOR_SIZE 512 +/* RT_DFS_ELM_USE_ERASE is not set */ +#define RT_DFS_ELM_REENTRANT #define RT_USING_DFS_DEVFS /* RT_USING_DFS_ROMFS is not set */ /* RT_USING_DFS_RAMFS is not set */ @@ -123,7 +138,7 @@ /* RT_USING_HWTIMER is not set */ /* RT_USING_CPUTIME is not set */ /* RT_USING_I2C is not set */ -/* RT_USING_PIN is not set */ +#define RT_USING_PIN /* RT_USING_ADC is not set */ /* RT_USING_PWM is not set */ /* RT_USING_MTD_NOR is not set */ @@ -132,7 +147,14 @@ /* RT_USING_PM is not set */ /* RT_USING_RTC is not set */ /* RT_USING_SDIO is not set */ -/* RT_USING_SPI is not set */ +#define RT_USING_SPI +/* RT_USING_QSPI is not set */ +#define RT_USING_SPI_MSD +/* RT_USING_SFUD is not set */ +/* RT_USING_W25QXX is not set */ +/* RT_USING_GD is not set */ +/* RT_USING_ENC28J60 is not set */ +/* RT_USING_SPI_WIFI is not set */ /* RT_USING_WDT is not set */ /* RT_USING_AUDIO is not set */ /* RT_USING_SENSOR is not set */ @@ -196,6 +218,7 @@ /* PKG_USING_WEBTERMINAL is not set */ /* PKG_USING_CJSON is not set */ /* PKG_USING_JSMN is not set */ +/* PKG_USING_LIBMODBUS is not set */ /* PKG_USING_LJSON is not set */ /* PKG_USING_EZXML is not set */ /* PKG_USING_NANOPB is not set */ @@ -292,6 +315,7 @@ /* PKG_USING_MPU6XXX is not set */ /* PKG_USING_PCF8574 is not set */ /* PKG_USING_SX12XX is not set */ +/* PKG_USING_SIGNAL_LED is not set */ #define PKG_USING_KENDRYTE_SDK #define PKG_USING_KENDRYTE_SDK_V052 /* PKG_USING_KENDRYTE_SDK_LATEST_VERSION is not set */ @@ -318,62 +342,22 @@ /* PKG_USING_PERIPHERAL_SAMPLES is not set */ /* PKG_USING_HELLO is not set */ /* PKG_USING_VI is not set */ - -/* Privated Packages of RealThread */ - -/* PKG_USING_CODEC is not set */ -/* PKG_USING_PLAYER is not set */ -/* PKG_USING_MPLAYER is not set */ -/* PKG_USING_PERSIMMON_SRC is not set */ -/* PKG_USING_JS_PERSIMMON is not set */ -/* PKG_USING_JERRYSCRIPT_WIN32 is not set */ - -/* Network Utilities */ - -/* PKG_USING_WICED is not set */ -/* PKG_USING_CLOUDSDK is not set */ -/* PKG_USING_COREMARK is not set */ -/* PKG_USING_POWER_MANAGER is not set */ -/* PKG_USING_RT_OTA is not set */ -/* PKG_USING_RDBD_SRC is not set */ -/* PKG_USING_RTINSIGHT is not set */ -/* PKG_USING_SMARTCONFIG is not set */ -/* PKG_USING_RTX is not set */ -/* RT_USING_TESTCASE is not set */ -/* PKG_USING_NGHTTP2 is not set */ -/* PKG_USING_AVS is not set */ -/* PKG_USING_STS is not set */ -/* PKG_USING_DLMS is not set */ - -/* Test Packages of RealThread */ - -/* RT-Thread Senior Membership Packages */ - -/* system packages */ - -/* PKG_USING_FTL_SRC is not set */ - -/* IoT - internet of things */ - -/* Webnet: A web server package for rt-thread */ - -/* rtpkgs online packages */ - -/* PKG_USING_CSTRING is not set */ -/* PKG_USING_ARGPARSE is not set */ -/* PKG_USING_LIBBMPREAD is not set */ -/* PKG_USING_LIBUTILS is not set */ -/* PKG_USING_SAM is not set */ -/* PKG_USING_LIBCALLBACK is not set */ -/* PKG_USING_Z_EVENT is not set */ -/* PKG_USING_LIBSTM32HAL is not set */ #define BOARD_K210_EVB #define BSP_USING_UART_HS /* BSP_USING_UART1 is not set */ /* BSP_USING_UART2 is not set */ /* BSP_USING_UART3 is not set */ /* BSP_USING_I2C1 is not set */ -/* BSP_USING_SPI1 is not set */ +#define BSP_USING_SPI1 +/* BSP_USING_SPI1_AS_QSPI is not set */ +#define BSP_SPI1_CLK_PIN 29 +#define BSP_SPI1_D0_PIN 30 +#define BSP_SPI1_D1_PIN 31 +#define BSP_SPI1_USING_SS0 +#define BSP_SPI1_SS0_PIN 32 +/* BSP_SPI1_USING_SS1 is not set */ +/* BSP_SPI1_USING_SS2 is not set */ +/* BSP_SPI1_USING_SS3 is not set */ #define BSP_USING_LCD #define BSP_LCD_CS_PIN 6 #define BSP_LCD_WR_PIN 7 @@ -388,6 +372,7 @@ #define BSP_CAMERA_CMOS_PWDN_PIN 13 #define BSP_CAMERA_CMOS_XCLK_PIN 14 #define BSP_CAMERA_CMOS_PCLK_PIN 15 +#define BSP_CAMERA_CMOS_HREF_PIN 17 #define __STACKSIZE__ 4096 #endif diff --git a/bsp/k210/rtconfig.py b/bsp/k210/rtconfig.py index 4610f85adc..686f7f7412 100644 --- a/bsp/k210/rtconfig.py +++ b/bsp/k210/rtconfig.py @@ -27,7 +27,7 @@ BUILD = 'release' if PLATFORM == 'gcc': # toolchains - PREFIX = 'riscv64-unknown-elf-' + PREFIX = 'riscv-none-embed-' CC = PREFIX + 'gcc' CXX = PREFIX + 'g++' AS = PREFIX + 'gcc' |
