forked from xuos/xiuos
				
			support wifi for xidatong-riscv64 on nuttx
This commit is contained in:
		
							parent
							
								
									f9d4484a57
								
							
						
					
					
						commit
						7869538b1d
					
				| 
						 | 
					@ -384,7 +384,6 @@ int AdapterWifiTestWithParam(int argc, char *argv[])
 | 
				
			||||||
    strcpy(apt_param->wifi_ssid, wifi_param[APT_WIFI_PARAM_SSID]);
 | 
					    strcpy(apt_param->wifi_ssid, wifi_param[APT_WIFI_PARAM_SSID]);
 | 
				
			||||||
    strcpy(apt_param->wifi_pwd, wifi_param[APT_WIFI_PARAM_PWD]);
 | 
					    strcpy(apt_param->wifi_pwd, wifi_param[APT_WIFI_PARAM_PWD]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printf("2022-10-14 Mr. Wang commit Wifi\n");
 | 
					 | 
				
			||||||
	printf("apt %p ssid %p %s\n", apt_param, apt_param->wifi_ssid);
 | 
						printf("apt %p ssid %p %s\n", apt_param, apt_param->wifi_ssid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CHECK_RET(AdapterDeviceOpen(adapter));
 | 
					    CHECK_RET(AdapterDeviceOpen(adapter));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -238,7 +238,7 @@ static int Esp8285WifiSetUp(struct Adapter *adapter)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    result = GetReplyText(reply);
 | 
					    result = GetReplyText(reply);
 | 
				
			||||||
    if (!result) {
 | 
					    if (!result) {
 | 
				
			||||||
        printf("%s %n get reply failed.\n",__func__,__LINE__);
 | 
					        printf("%s %d get reply failed.\n",__func__,__LINE__);
 | 
				
			||||||
        ret = -1;
 | 
					        ret = -1;
 | 
				
			||||||
        goto __exit;
 | 
					        goto __exit;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -355,7 +355,7 @@ static int Esp8285WifiNetstat(struct Adapter *adapter)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    result = GetReplyText(reply);
 | 
					    result = GetReplyText(reply);
 | 
				
			||||||
    if (!result) {
 | 
					    if (!result) {
 | 
				
			||||||
        printf("%s %n get reply failed.\n",__func__,__LINE__);
 | 
					        printf("%s %d get reply failed.\n",__func__,__LINE__);
 | 
				
			||||||
        ret = -1;
 | 
					        ret = -1;
 | 
				
			||||||
        goto __exit;
 | 
					        goto __exit;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,77 @@
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is autogenerated: PLEASE DO NOT EDIT IT.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You can use "make menuconfig" to make any modifications to the installed .config file.
 | 
				
			||||||
 | 
					# You can then do "make savedefconfig" to generate a new defconfig file that includes your
 | 
				
			||||||
 | 
					# modifications.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# CONFIG_NSH_DISABLE_LOSMART is not set
 | 
				
			||||||
 | 
					# CONFIG_STANDARD_SERIAL is not set
 | 
				
			||||||
 | 
					CONFIG_ADD_NUTTX_FETURES=y
 | 
				
			||||||
 | 
					CONFIG_ARCH="risc-v"
 | 
				
			||||||
 | 
					CONFIG_ARCH_BOARD="xidatong-riscv64"
 | 
				
			||||||
 | 
					CONFIG_ARCH_BOARD_XIDATONG_RISCV64=y
 | 
				
			||||||
 | 
					CONFIG_ARCH_CHIP="k210"
 | 
				
			||||||
 | 
					CONFIG_ARCH_CHIP_K210=y
 | 
				
			||||||
 | 
					CONFIG_ARCH_INTERRUPTSTACK=2048
 | 
				
			||||||
 | 
					CONFIG_ARCH_RISCV=y
 | 
				
			||||||
 | 
					CONFIG_ARCH_STACKDUMP=y
 | 
				
			||||||
 | 
					CONFIG_BINFMT_DISABLE=y
 | 
				
			||||||
 | 
					CONFIG_BOARD_LOOPSPERMSEC=46000
 | 
				
			||||||
 | 
					CONFIG_BUILTIN=y
 | 
				
			||||||
 | 
					CONFIG_DEBUG_FULLOPT=y
 | 
				
			||||||
 | 
					CONFIG_DEBUG_SYMBOLS=y
 | 
				
			||||||
 | 
					CONFIG_EXAMPLES_HELLO=y
 | 
				
			||||||
 | 
					CONFIG_IDLETHREAD_STACKSIZE=2048
 | 
				
			||||||
 | 
					CONFIG_INIT_ENTRYPOINT="nsh_main"
 | 
				
			||||||
 | 
					CONFIG_INIT_STACKSIZE=3072
 | 
				
			||||||
 | 
					CONFIG_INTELHEX_BINARY=y
 | 
				
			||||||
 | 
					CONFIG_LIBC_PERROR_STDOUT=y
 | 
				
			||||||
 | 
					CONFIG_LIBC_STRERROR=y
 | 
				
			||||||
 | 
					CONFIG_NSH_ARCHINIT=y
 | 
				
			||||||
 | 
					CONFIG_NSH_BUILTIN_APPS=y
 | 
				
			||||||
 | 
					CONFIG_NSH_DISABLE_IFUPDOWN=y
 | 
				
			||||||
 | 
					CONFIG_NSH_DISABLE_MKDIR=y
 | 
				
			||||||
 | 
					CONFIG_NSH_DISABLE_RM=y
 | 
				
			||||||
 | 
					CONFIG_NSH_DISABLE_RMDIR=y
 | 
				
			||||||
 | 
					CONFIG_NSH_DISABLE_UMOUNT=y
 | 
				
			||||||
 | 
					CONFIG_NSH_READLINE=y
 | 
				
			||||||
 | 
					CONFIG_NSH_STRERROR=y
 | 
				
			||||||
 | 
					CONFIG_PREALLOC_TIMERS=4
 | 
				
			||||||
 | 
					CONFIG_RAM_SIZE=2097152
 | 
				
			||||||
 | 
					CONFIG_RAM_START=0x80400000
 | 
				
			||||||
 | 
					CONFIG_RAW_BINARY=y
 | 
				
			||||||
 | 
					CONFIG_READLINE_CMD_HISTORY=y
 | 
				
			||||||
 | 
					CONFIG_READLINE_CMD_HISTORY_LEN=100
 | 
				
			||||||
 | 
					CONFIG_READLINE_CMD_HISTORY_LINELEN=120
 | 
				
			||||||
 | 
					CONFIG_RR_INTERVAL=200
 | 
				
			||||||
 | 
					CONFIG_SCHED_WAITPID=y
 | 
				
			||||||
 | 
					CONFIG_STACK_COLORATION=y
 | 
				
			||||||
 | 
					CONFIG_START_DAY=28
 | 
				
			||||||
 | 
					CONFIG_START_MONTH=12
 | 
				
			||||||
 | 
					CONFIG_START_YEAR=2019
 | 
				
			||||||
 | 
					CONFIG_SYSTEM_NSH=y
 | 
				
			||||||
 | 
					CONFIG_TASK_NAME_SIZE=20
 | 
				
			||||||
 | 
					CONFIG_TESTING_GETPRIME=y
 | 
				
			||||||
 | 
					CONFIG_UART0_SERIAL_CONSOLE=y
 | 
				
			||||||
 | 
					CONFIG_READLINE_TABCOMPLETION=y
 | 
				
			||||||
 | 
					CONFIG_SCHED_HPWORK=y
 | 
				
			||||||
 | 
					CONFIG_DEV_GPIO=y
 | 
				
			||||||
 | 
					CONFIG_BOARDCTL_RESET=y
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART=y
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1=y
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_BASE=0x50210000
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_CLOCK=195000000
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_IRQ=38
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_BAUD=115200
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_PARITY=0
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_BITS=8
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_2STOP=0
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_RXBUFSIZE=128
 | 
				
			||||||
 | 
					CONFIG_K210_16550_UART1_TXBUFSIZE=128
 | 
				
			||||||
 | 
					CONFIG_SUPPORT_CONNECTION_FRAMEWORK=y
 | 
				
			||||||
 | 
					CONFIG_CONNECTION_FRAMEWORK_DEBUG=y
 | 
				
			||||||
 | 
					CONFIG_CONNECTION_ADAPTER_WIFI=y
 | 
				
			||||||
 | 
					CONFIG_ADAPTER_ESP8285_WIFI=y
 | 
				
			||||||
 | 
					CONFIG_ADAPTER_WIFI_ESP8285="esp8285_wifi"
 | 
				
			||||||
 | 
					CONFIG_ADAPTER_ESP8285_DRIVER="/dev/ttyS1"
 | 
				
			||||||
| 
						 | 
					@ -55,7 +55,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GPIO pins used by the GPIO Subsystem */
 | 
					/* GPIO pins used by the GPIO Subsystem */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BOARD_NGPIOOUT    4 /* Amount of GPIO Output pins */
 | 
					#define BOARD_NGPIOOUT    3 /* Amount of register GPIO Output pins */
 | 
				
			||||||
#define BOARD_NGPIOINT    0 /* Amount of GPIO Input */
 | 
					#define BOARD_NGPIOINT    0 /* Amount of GPIO Input */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/****************************************************************************
 | 
					/****************************************************************************
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,12 +32,16 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <nuttx/board.h>
 | 
					#include <nuttx/board.h>
 | 
				
			||||||
#include <nuttx/fs/fs.h>
 | 
					#include <nuttx/fs/fs.h>
 | 
				
			||||||
 | 
					#include <nuttx/arch.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "k210.h"
 | 
					#include "k210.h"
 | 
				
			||||||
#include "k210_clockconfig.h"
 | 
					#include "k210_clockconfig.h"
 | 
				
			||||||
#include "xidatong-riscv64.h"
 | 
					#include "xidatong-riscv64.h"
 | 
				
			||||||
#include <arch/board/board.h>
 | 
					#include <arch/board/board.h>
 | 
				
			||||||
#include "k210_sysctl.h"
 | 
					#include "k210_sysctl.h"
 | 
				
			||||||
 | 
					#include "k210_fpioa.h"
 | 
				
			||||||
 | 
					#include "k210_gpiohs.h"
 | 
				
			||||||
 | 
					#include "k210_gpio_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_BSP_USING_CH438
 | 
					#ifdef CONFIG_BSP_USING_CH438
 | 
				
			||||||
#  include "k210_ch438.h"
 | 
					#  include "k210_ch438.h"
 | 
				
			||||||
| 
						 | 
					@ -86,8 +90,15 @@ int k210_bringup(void)
 | 
				
			||||||
#ifdef CONFIG_K210_16550_UART1
 | 
					#ifdef CONFIG_K210_16550_UART1
 | 
				
			||||||
  sysctl_clock_enable(SYSCTL_CLOCK_UART1);
 | 
					  sysctl_clock_enable(SYSCTL_CLOCK_UART1);
 | 
				
			||||||
  sysctl_reset(SYSCTL_RESET_UART1);
 | 
					  sysctl_reset(SYSCTL_RESET_UART1);
 | 
				
			||||||
  fpioa_set_function(GPIO_WIFI_RXD, FPOA_USART1_RX);
 | 
					
 | 
				
			||||||
  fpioa_set_function(GPIO_WIFI_TXD, FPOA_USART1_TX);
 | 
					  fpioa_set_function(GPIO_WIFI_TXD, FPOA_USART1_RX);
 | 
				
			||||||
 | 
					  fpioa_set_function(GPIO_WIFI_RXD, FPOA_USART1_TX);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fpioa_set_function(GPIO_WIFI_EN, K210_IO_FUNC_GPIOHS0 + GPIO_WIFI_EN);
 | 
				
			||||||
 | 
					  k210_gpiohs_set_direction(GPIO_WIFI_EN, GPIO_DM_OUTPUT);
 | 
				
			||||||
 | 
					  k210_gpiohs_set_value(GPIO_WIFI_EN, GPIO_PV_LOW);
 | 
				
			||||||
 | 
					  up_mdelay(50);
 | 
				
			||||||
 | 
					  k210_gpiohs_set_value(GPIO_WIFI_EN, GPIO_PV_HIGH);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_K210_16550_UART2
 | 
					#ifdef CONFIG_K210_16550_UART2
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,16 +88,14 @@ static const uint32_t g_gpiooutputs[BOARD_NGPIOOUT] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  GPIO_E220_M0, 
 | 
					  GPIO_E220_M0, 
 | 
				
			||||||
  GPIO_E220_M1,
 | 
					  GPIO_E220_M1,
 | 
				
			||||||
  GPIO_E18_MODE,
 | 
					  GPIO_E18_MODE
 | 
				
			||||||
  GPIO_WIFI_EN
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const uint32_t g_fpioa[BOARD_NGPIOOUT] =
 | 
					static const uint32_t g_fpioa[BOARD_NGPIOOUT] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  FPIOA_E220_M0, 
 | 
					  FPIOA_E220_M0, 
 | 
				
			||||||
  FPIOA_E220_M1,
 | 
					  FPIOA_E220_M1,
 | 
				
			||||||
  FPIOA_E18_MODE,
 | 
					  FPIOA_E18_MODE
 | 
				
			||||||
  FPIOA_WIFI_EN
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct k210gpio_dev_s g_gpout[BOARD_NGPIOOUT];
 | 
					static struct k210gpio_dev_s g_gpout[BOARD_NGPIOOUT];
 | 
				
			||||||
| 
						 | 
					@ -173,7 +171,6 @@ int k210_gpio_init(void)
 | 
				
			||||||
                        (K210_IO_FUNC_GPIOHS0 + g_fpioa[i]) | K210_IOFLAG_GPIOHS);
 | 
					                        (K210_IO_FUNC_GPIOHS0 + g_fpioa[i]) | K210_IOFLAG_GPIOHS);
 | 
				
			||||||
      k210_gpiohs_set_direction(g_fpioa[i], GPIO_DM_OUTPUT);
 | 
					      k210_gpiohs_set_direction(g_fpioa[i], GPIO_DM_OUTPUT);
 | 
				
			||||||
      k210_gpiohs_set_value(g_fpioa[i], false);
 | 
					      k210_gpiohs_set_value(g_fpioa[i], false);
 | 
				
			||||||
 | 
					 | 
				
			||||||
      pincount++;
 | 
					      pincount++;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,8 +101,8 @@ void gpio_set_drive_mode(uint8_t pin, gpio_drive_mode_t mode)
 | 
				
			||||||
    int io_number = fpioa_get_io_by_function(K210_IO_FUNC_GPIO0 + pin);
 | 
					    int io_number = fpioa_get_io_by_function(K210_IO_FUNC_GPIO0 + pin);
 | 
				
			||||||
    DEBUGASSERT(io_number >= 0);
 | 
					    DEBUGASSERT(io_number >= 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fpioa_pull_t pull;
 | 
					    fpioa_pull_t pull = FPIOA_PULL_NONE;
 | 
				
			||||||
    uint32_t dir;
 | 
					    uint32_t dir = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    switch(mode)
 | 
					    switch(mode)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue