mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 07:12:54 +08:00
Updates/fixes related to ENC28J60, Kconfigs, and fire-stm32v2
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5128 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
+1
-1
@@ -950,7 +950,7 @@ defconfig -- This is a configuration file similar to the Linux
|
|||||||
|
|
||||||
ENC28J60 Ethernet Driver Configuration Settings:
|
ENC28J60 Ethernet Driver Configuration Settings:
|
||||||
|
|
||||||
CONFIG_NET_ENC28J60 - Enabled ENC28J60 support
|
CONFIG_ENC28J60 - Enabled ENC28J60 support
|
||||||
CONFIG_ENC28J60_SPIMODE - Controls the SPI mode
|
CONFIG_ENC28J60_SPIMODE - Controls the SPI mode
|
||||||
CONFIG_ENC28J60_FREQUENCY - Define to use a different bus frequency
|
CONFIG_ENC28J60_FREQUENCY - Define to use a different bus frequency
|
||||||
CONFIG_ENC28J60_NINTERFACES - Specifies the number of physical ENC28J60
|
CONFIG_ENC28J60_NINTERFACES - Specifies the number of physical ENC28J60
|
||||||
|
|||||||
@@ -256,14 +256,14 @@
|
|||||||
* PIN NAME SIGNAL NOTES
|
* PIN NAME SIGNAL NOTES
|
||||||
* --- ------ -------------- -------------------------------------------------------------------
|
* --- ------ -------------- -------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
* 68 PA9 PA9-US1-TX MAX3232, DB9 D8, Requires CONFIG_STM32_USART1_REMAP
|
* 68 PA9 PA9-US1-TX MAX3232, DB9 D8, Requires !CONFIG_STM32_USART1_REMAP
|
||||||
* 69 PA10 PA10-US1-RX MAX3232, DB9 D8, Requires CONFIG_STM32_USART1_REMAP
|
* 69 PA10 PA10-US1-RX MAX3232, DB9 D8, Requires !CONFIG_STM32_USART1_REMAP
|
||||||
* 25 PA2 PA2-US2-TX MAX3232, DB9 D7, Requires !CONFIG_STM32_USART2_REMAP
|
* 25 PA2 PA2-US2-TX MAX3232, DB9 D7, Requires !CONFIG_STM32_USART2_REMAP
|
||||||
* 26 PA3 PA3-US2-RX MAX3232, DB9 D7, Requires !CONFIG_STM32_USART2_REMAP
|
* 26 PA3 PA3-US2-RX MAX3232, DB9 D7, Requires !CONFIG_STM32_USART2_REMAP
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(CONFIG_STM32_USART1) && !defined(CONFIG_STM32_USART1_REMAP)
|
#if defined(CONFIG_STM32_USART1) && defined(CONFIG_STM32_USART1_REMAP)
|
||||||
# errror "USART1 requires CONFIG_STM32_USART1_REMAP=y"
|
# errror "USART1 requires CONFIG_STM32_USART1_REMAP=n"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_STM32_USART2) && defined(CONFIG_STM32_USART2_REMAP)
|
#if defined(CONFIG_STM32_USART2) && defined(CONFIG_STM32_USART2_REMAP)
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ CONFIG_STM32_I2C1=y
|
|||||||
# CONFIG_STM32_IWDG is not set
|
# CONFIG_STM32_IWDG is not set
|
||||||
CONFIG_STM32_PWR=y
|
CONFIG_STM32_PWR=y
|
||||||
CONFIG_STM32_SDIO=y
|
CONFIG_STM32_SDIO=y
|
||||||
# CONFIG_STM32_SPI1 is not set
|
CONFIG_STM32_SPI1=y
|
||||||
# CONFIG_STM32_SPI2 is not set
|
# CONFIG_STM32_SPI2 is not set
|
||||||
# CONFIG_STM32_SPI4 is not set
|
# CONFIG_STM32_SPI4 is not set
|
||||||
# CONFIG_STM32_TIM1 is not set
|
# CONFIG_STM32_TIM1 is not set
|
||||||
@@ -149,12 +149,14 @@ CONFIG_STM32_USART2=y
|
|||||||
# CONFIG_STM32_UART5 is not set
|
# CONFIG_STM32_UART5 is not set
|
||||||
CONFIG_STM32_USB=y
|
CONFIG_STM32_USB=y
|
||||||
# CONFIG_STM32_WWDG is not set
|
# CONFIG_STM32_WWDG is not set
|
||||||
|
CONFIG_STM32_SPI=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Alternate Pin Mapping
|
# Alternate Pin Mapping
|
||||||
#
|
#
|
||||||
CONFIG_STM32_USART1_REMAP=y
|
# CONFIG_STM32_USART1_REMAP is not set
|
||||||
# CONFIG_STM32_USART2_REMAP is not set
|
# CONFIG_STM32_USART2_REMAP is not set
|
||||||
|
# CONFIG_STM32_SPI1_REMAP is not set
|
||||||
# CONFIG_STM32_I2C1_REMAP is not set
|
# CONFIG_STM32_I2C1_REMAP is not set
|
||||||
# CONFIG_STM32_JTAG_DISABLE is not set
|
# CONFIG_STM32_JTAG_DISABLE is not set
|
||||||
CONFIG_STM32_JTAG_FULL_ENABLE=y
|
CONFIG_STM32_JTAG_FULL_ENABLE=y
|
||||||
@@ -163,6 +165,12 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
|
|||||||
# CONFIG_STM32_FORCEPOWER is not set
|
# CONFIG_STM32_FORCEPOWER is not set
|
||||||
# CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set
|
# CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# SPI Configuration
|
||||||
|
#
|
||||||
|
# CONFIG_STM32_SPI_INTERRUPTS is not set
|
||||||
|
# CONFIG_STM32_SPI_DMA is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# SDIO Configuration
|
# SDIO Configuration
|
||||||
#
|
#
|
||||||
@@ -300,71 +308,27 @@ CONFIG_DEV_NULL=y
|
|||||||
# CONFIG_DEV_ZERO is not set
|
# CONFIG_DEV_ZERO is not set
|
||||||
# CONFIG_LOOP is not set
|
# CONFIG_LOOP is not set
|
||||||
# CONFIG_RAMDISK is not set
|
# CONFIG_RAMDISK is not set
|
||||||
|
|
||||||
#
|
|
||||||
# CAN Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_CAN is not set
|
# CONFIG_CAN is not set
|
||||||
|
|
||||||
#
|
|
||||||
# PWM Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_PWM is not set
|
# CONFIG_PWM is not set
|
||||||
|
|
||||||
#
|
|
||||||
# I2C Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_I2C=y
|
CONFIG_I2C=y
|
||||||
# CONFIG_I2C_SLAVE is not set
|
# CONFIG_I2C_SLAVE is not set
|
||||||
CONFIG_I2C_TRANSFER=y
|
CONFIG_I2C_TRANSFER=y
|
||||||
# CONFIG_I2C_WRITEREAD is not set
|
# CONFIG_I2C_WRITEREAD is not set
|
||||||
CONFIG_I2C_POLLED=y
|
CONFIG_I2C_POLLED=y
|
||||||
# CONFIG_I2C_TRACE is not set
|
# CONFIG_I2C_TRACE is not set
|
||||||
|
|
||||||
#
|
|
||||||
# SPI Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_SPI=y
|
CONFIG_SPI=y
|
||||||
# CONFIG_SPI_OWNBUS is not set
|
# CONFIG_SPI_OWNBUS is not set
|
||||||
CONFIG_SPI_EXCHANGE=y
|
CONFIG_SPI_EXCHANGE=y
|
||||||
CONFIG_SPI_CMDDATA=y
|
# CONFIG_SPI_CMDDATA is not set
|
||||||
|
|
||||||
#
|
|
||||||
# RTC Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_RTC=y
|
CONFIG_RTC=y
|
||||||
# CONFIG_RTC_DATETIME is not set
|
# CONFIG_RTC_DATETIME is not set
|
||||||
# CONFIG_RTC_HIRES is not set
|
# CONFIG_RTC_HIRES is not set
|
||||||
# CONFIG_RTC_ALARM is not set
|
# CONFIG_RTC_ALARM is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Watchdog Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_WATCHDOG is not set
|
# CONFIG_WATCHDOG is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Analog Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_ANALOG is not set
|
# CONFIG_ANALOG is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Block-to-Character Driver Support
|
|
||||||
#
|
|
||||||
# CONFIG_BCH is not set
|
# CONFIG_BCH is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Input device Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_INPUT is not set
|
# CONFIG_INPUT is not set
|
||||||
|
|
||||||
#
|
|
||||||
# LCD Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_LCD is not set
|
# CONFIG_LCD is not set
|
||||||
|
|
||||||
#
|
|
||||||
# MMCSD Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_MMCSD=y
|
CONFIG_MMCSD=y
|
||||||
CONFIG_MMCSD_NSLOTS=1
|
CONFIG_MMCSD_NSLOTS=1
|
||||||
# CONFIG_MMCSD_READONLY is not set
|
# CONFIG_MMCSD_READONLY is not set
|
||||||
@@ -375,42 +339,23 @@ CONFIG_MMCSD_SPI=y
|
|||||||
CONFIG_MMCSD_SPICLOCK=20000000
|
CONFIG_MMCSD_SPICLOCK=20000000
|
||||||
CONFIG_MMCSD_SDIO=y
|
CONFIG_MMCSD_SDIO=y
|
||||||
# CONFIG_SDIO_MUXBUS is not set
|
# CONFIG_SDIO_MUXBUS is not set
|
||||||
|
|
||||||
#
|
|
||||||
# I2C Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_MTD is not set
|
# CONFIG_MTD is not set
|
||||||
|
CONFIG_NETDEVICES=y
|
||||||
#
|
# CONFIG_NET_DM90x0 is not set
|
||||||
# Network Device Driver Options
|
CONFIG_ENC28J60=y
|
||||||
#
|
CONFIG_ENC28J60_NINTERFACES=1
|
||||||
# CONFIG_NETDEVICES is not set
|
CONFIG_ENC28J60_SPIMODE=2
|
||||||
|
CONFIG_ENC28J60_FREQUENCY=20000000
|
||||||
|
# CONFIG_ENC28J60_STATS is not set
|
||||||
|
# CONFIG_ENC28J60_HALFDUPPLEX is not set
|
||||||
|
# CONFIG_NET_E1000 is not set
|
||||||
# CONFIG_NET_SLIP is not set
|
# CONFIG_NET_SLIP is not set
|
||||||
|
# CONFIG_NET_VNET is not set
|
||||||
#
|
|
||||||
# Pipe Options
|
|
||||||
#
|
|
||||||
# CONFIG_PIPES is not set
|
# CONFIG_PIPES is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Power Management Options
|
|
||||||
#
|
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
# CONFIG_POWER is not set
|
# CONFIG_POWER is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Sensor Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_SENSORS is not set
|
# CONFIG_SENSORS is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Osmocom-bb Sercomm Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_SERCOMM_CONSOLE is not set
|
# CONFIG_SERCOMM_CONSOLE is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Serial Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_SERIAL=y
|
CONFIG_SERIAL=y
|
||||||
# CONFIG_LOWLEVEL_CONSOLE is not set
|
# CONFIG_LOWLEVEL_CONSOLE is not set
|
||||||
# CONFIG_16550_UART is not set
|
# CONFIG_16550_UART is not set
|
||||||
@@ -441,10 +386,6 @@ CONFIG_USART2_BAUD=115200
|
|||||||
CONFIG_USART2_BITS=8
|
CONFIG_USART2_BITS=8
|
||||||
CONFIG_USART2_PARITY=0
|
CONFIG_USART2_PARITY=0
|
||||||
CONFIG_USART2_2STOP=0
|
CONFIG_USART2_2STOP=0
|
||||||
|
|
||||||
#
|
|
||||||
# USB Device Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_USBDEV=y
|
CONFIG_USBDEV=y
|
||||||
# CONFIG_USBDEV_COMPOSITE is not set
|
# CONFIG_USBDEV_COMPOSITE is not set
|
||||||
# CONFIG_USBDEV_ISOCHRONOUS is not set
|
# CONFIG_USBDEV_ISOCHRONOUS is not set
|
||||||
@@ -468,15 +409,7 @@ CONFIG_USBMSC_PRODUCTID=0x5342
|
|||||||
CONFIG_USBMSC_PRODUCTSTR="USBdev Storage"
|
CONFIG_USBMSC_PRODUCTSTR="USBdev Storage"
|
||||||
CONFIG_USBMSC_VERSIONNO=0x0399
|
CONFIG_USBMSC_VERSIONNO=0x0399
|
||||||
CONFIG_USBMSC_REMOVABLE=y
|
CONFIG_USBMSC_REMOVABLE=y
|
||||||
|
|
||||||
#
|
|
||||||
# USB Host Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_USBHOST is not set
|
# CONFIG_USBHOST is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Wireless Device Driver Options
|
|
||||||
#
|
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -495,7 +428,7 @@ CONFIG_NET=y
|
|||||||
# CONFIG_NET_NOINTS is not set
|
# CONFIG_NET_NOINTS is not set
|
||||||
# CONFIG_NET_MULTIBUFFER is not set
|
# CONFIG_NET_MULTIBUFFER is not set
|
||||||
# CONFIG_NET_IPv6 is not set
|
# CONFIG_NET_IPv6 is not set
|
||||||
CONFIG_NSOCKET_DESCRIPTORS=0
|
CONFIG_NSOCKET_DESCRIPTORS=16
|
||||||
CONFIG_NET_NACTIVESOCKETS=16
|
CONFIG_NET_NACTIVESOCKETS=16
|
||||||
CONFIG_NET_SOCKOPTS=y
|
CONFIG_NET_SOCKOPTS=y
|
||||||
CONFIG_NET_BUFSIZE=562
|
CONFIG_NET_BUFSIZE=562
|
||||||
@@ -512,7 +445,7 @@ CONFIG_NET_UDP_CHECKSUMS=y
|
|||||||
CONFIG_NET_UDP_CONNS=8
|
CONFIG_NET_UDP_CONNS=8
|
||||||
CONFIG_NET_BROADCAST=y
|
CONFIG_NET_BROADCAST=y
|
||||||
CONFIG_NET_ICMP=y
|
CONFIG_NET_ICMP=y
|
||||||
# CONFIG_NET_ICMP_PING is not set
|
CONFIG_NET_ICMP_PING=y
|
||||||
# CONFIG_NET_PINGADDRCONF is not set
|
# CONFIG_NET_PINGADDRCONF is not set
|
||||||
# CONFIG_NET_IGMP is not set
|
# CONFIG_NET_IGMP is not set
|
||||||
CONFIG_NET_STATISTICS=y
|
CONFIG_NET_STATISTICS=y
|
||||||
@@ -532,6 +465,7 @@ CONFIG_FAT_LCNAMES=y
|
|||||||
CONFIG_FAT_LFN=y
|
CONFIG_FAT_LFN=y
|
||||||
CONFIG_FAT_MAXFNAME=32
|
CONFIG_FAT_MAXFNAME=32
|
||||||
# CONFIG_FS_FATTIME is not set
|
# CONFIG_FS_FATTIME is not set
|
||||||
|
# CONFIG_FAT_DMAMEMORY is not set
|
||||||
# CONFIG_FS_RAMMAP is not set
|
# CONFIG_FS_RAMMAP is not set
|
||||||
# CONFIG_NFS is not set
|
# CONFIG_NFS is not set
|
||||||
# CONFIG_FS_NXFFS is not set
|
# CONFIG_FS_NXFFS is not set
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ else
|
|||||||
CSRCS += up_userleds.c
|
CSRCS += up_userleds.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_NET_ENC28J60),y)
|
ifeq ($(CONFIG_ENC28J60),y)
|
||||||
CSRCS += up_enc28j60.c
|
CSRCS += up_enc28j60.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -191,7 +191,7 @@
|
|||||||
* 32 PA7 PA7-SPI1-MOSI 2.4" TFT + Touchscreen, 10Mbit ENC28J60, SPI 2M FLASH
|
* 32 PA7 PA7-SPI1-MOSI 2.4" TFT + Touchscreen, 10Mbit ENC28J60, SPI 2M FLASH
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_NET_ENC28J60
|
#ifndef CONFIG_ENC28J60
|
||||||
# define GPIO_ENC28J60_CS (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
|
# define GPIO_ENC28J60_CS (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
|
||||||
GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4)
|
GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4)
|
||||||
#endif
|
#endif
|
||||||
@@ -210,11 +210,11 @@
|
|||||||
* 4 PE5 (no name) 10Mbps ENC28J60 Interrupt
|
* 4 PE5 (no name) 10Mbps ENC28J60 Interrupt
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(CONFIG_STM32_FSMC) && defined(CONFIG_NET_ENC28J60)
|
#if defined(CONFIG_STM32_FSMC) && defined(CONFIG_ENC28J60)
|
||||||
# warning "TFT LCD and ENCJ2860 shared PE1"
|
# warning "TFT LCD and ENCJ2860 shared PE1"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
# define GPIO_ENC28J60_CS (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
|
# define GPIO_ENC28J60_CS (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
|
||||||
GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4)
|
GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4)
|
||||||
# define GPIO_ENC28J60_RESET (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
|
# define GPIO_ENC28J60_RESET (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
|
||||||
|
|||||||
@@ -193,7 +193,8 @@ static struct pm_callback_s g_ledscb =
|
|||||||
* Name: led_clrbits
|
* Name: led_clrbits
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Clear all LEDs to the bit encoded state
|
* Clear all LEDs to the bit encoded state. The LEDs are pulled up and,
|
||||||
|
* hence, active low.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -201,17 +202,17 @@ static inline void led_clrbits(unsigned int clrbits)
|
|||||||
{
|
{
|
||||||
if ((clrbits & FIRE_LED1) != 0)
|
if ((clrbits & FIRE_LED1) != 0)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(GPIO_LED1, false);
|
stm32_gpiowrite(GPIO_LED1, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((clrbits & FIRE_LED2) != 0)
|
if ((clrbits & FIRE_LED2) != 0)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(GPIO_LED2, false);
|
stm32_gpiowrite(GPIO_LED2, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((clrbits & FIRE_LED3) != 0)
|
if ((clrbits & FIRE_LED3) != 0)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(GPIO_LED3, false);
|
stm32_gpiowrite(GPIO_LED3, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,7 +220,8 @@ static inline void led_clrbits(unsigned int clrbits)
|
|||||||
* Name: led_setbits
|
* Name: led_setbits
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Set all LEDs to the bit encoded state
|
* Set all LEDs to the bit encoded state. The LEDs are pulled up and,
|
||||||
|
* hence, active low.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -227,17 +229,17 @@ static inline void led_setbits(unsigned int setbits)
|
|||||||
{
|
{
|
||||||
if ((setbits & FIRE_LED1) != 0)
|
if ((setbits & FIRE_LED1) != 0)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(GPIO_LED1, true);
|
stm32_gpiowrite(GPIO_LED1, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((setbits & FIRE_LED2) != 0)
|
if ((setbits & FIRE_LED2) != 0)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(GPIO_LED2, true);
|
stm32_gpiowrite(GPIO_LED2, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((setbits & FIRE_LED3) != 0)
|
if ((setbits & FIRE_LED3) != 0)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(GPIO_LED3, true);
|
stm32_gpiowrite(GPIO_LED3, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,9 +63,9 @@
|
|||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
#include "up_arch.h"
|
#include "up_arch.h"
|
||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
#include "fire_internal.h"
|
#include "fire-internal.h"
|
||||||
|
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -110,9 +110,9 @@ struct stm32_lower_s
|
|||||||
* Private Function Prototypes
|
* Private Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static int up_attach(FAR struct enc_lower_s *lower, xcpt_t handler);
|
static int up_attach(FAR const struct enc_lower_s *lower, xcpt_t handler);
|
||||||
static void up_enable(FAR struct enc_lower_s *lower);
|
static void up_enable(FAR const struct enc_lower_s *lower);
|
||||||
static void up_disable(FAR struct enc_lower_s *lower);
|
static void up_disable(FAR const struct enc_lower_s *lower);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Data
|
* Private Data
|
||||||
@@ -123,13 +123,15 @@ static void up_disable(FAR struct enc_lower_s *lower);
|
|||||||
* the ENC28J60 GPIO interrupt.
|
* the ENC28J60 GPIO interrupt.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const struct enc_lower_s g_enclower =
|
static struct stm32_lower_s g_enclower =
|
||||||
{
|
{
|
||||||
|
.lower =
|
||||||
{
|
{
|
||||||
.attach = up_attach,
|
.attach = up_attach,
|
||||||
.enable = up_enable,
|
.enable = up_enable,
|
||||||
.disable = up_disable
|
.disable = up_disable
|
||||||
}
|
},
|
||||||
|
.handler = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@@ -140,25 +142,25 @@ static const struct enc_lower_s g_enclower =
|
|||||||
* Name: struct enc_lower_s methods
|
* Name: struct enc_lower_s methods
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static int up_attach(FAR struct enc_lower_s *lower, xcpt_t handler)
|
static int up_attach(FAR const struct enc_lower_s *lower, xcpt_t handler)
|
||||||
{
|
{
|
||||||
FAR struct stm32_lower_s *priv = (FAR struct stm32_lower_s *)lower;
|
FAR struct stm32_lower_s *priv = (FAR struct stm32_lower_s *)lower;
|
||||||
|
|
||||||
/* Just save the handler for use when the interrupt is enabled */
|
/* Just save the handler for use when the interrupt is enabled */
|
||||||
|
|
||||||
priv-handler = handler;
|
priv->handler = handler;
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void up_enable(FAR struct enc_lower_s *lower)
|
static void up_enable(FAR const struct enc_lower_s *lower)
|
||||||
{
|
{
|
||||||
FAR struct stm32_lower_s *priv = (FAR struct stm32_lower_s *)lower;
|
FAR struct stm32_lower_s *priv = (FAR struct stm32_lower_s *)lower;
|
||||||
|
|
||||||
DEBUGASSERT(priv->handler);
|
DEBUGASSERT(priv->handler);
|
||||||
(void)stm32_gpiosetevent(GPIO_ENC28J60_INTR, true, true, true, priv-handler);
|
(void)stm32_gpiosetevent(GPIO_ENC28J60_INTR, true, true, true, priv->handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void up_disable(FAR struct enc_lower_s *lower)
|
static void up_disable(FAR const struct enc_lower_s *lower)
|
||||||
{
|
{
|
||||||
(void)stm32_gpiosetevent(GPIO_ENC28J60_INTR, true, true, true, NULL);
|
(void)stm32_gpiosetevent(GPIO_ENC28J60_INTR, true, true, true, NULL);
|
||||||
}
|
}
|
||||||
@@ -174,7 +176,6 @@ static void up_disable(FAR struct enc_lower_s *lower)
|
|||||||
void up_netinitialize(void)
|
void up_netinitialize(void)
|
||||||
{
|
{
|
||||||
FAR struct spi_dev_s *spi;
|
FAR struct spi_dev_s *spi;
|
||||||
uint16_t reg16;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Assumptions:
|
/* Assumptions:
|
||||||
@@ -195,7 +196,7 @@ void up_netinitialize(void)
|
|||||||
|
|
||||||
/* Bind the SPI port to the ENC28J60 driver */
|
/* Bind the SPI port to the ENC28J60 driver */
|
||||||
|
|
||||||
ret = enc_initialize(spi, ENC28J60_DEVNO, &g_enclower);
|
ret = enc_initialize(spi, &g_enclower.lower, ENC28J60_DEVNO);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
nlldbg("Failed to bind SPI port %d ENC28J60 device %d: %d\n",
|
nlldbg("Failed to bind SPI port %d ENC28J60 device %d: %d\n",
|
||||||
@@ -207,4 +208,4 @@ void up_netinitialize(void)
|
|||||||
ENC28J60_SPI_PORTNO, ENC28J60_DEVNO);
|
ENC28J60_SPI_PORTNO, ENC28J60_DEVNO);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_NET_ENC28J60 */
|
#endif /* CONFIG_ENC28J60 */
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ void weak_function stm32_spiinitialize(void)
|
|||||||
|
|
||||||
/* Configure ENC28J60 SPI1 CS (also RESET and interrupt pins) */
|
/* Configure ENC28J60 SPI1 CS (also RESET and interrupt pins) */
|
||||||
|
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
stm32_configgpio(GPIO_ENC28J60_CS);
|
stm32_configgpio(GPIO_ENC28J60_CS);
|
||||||
stm32_configgpio(GPIO_ENC28J60_RESET);
|
stm32_configgpio(GPIO_ENC28J60_RESET);
|
||||||
stm32_configgpio(GPIO_ENC28J60_INTR);
|
stm32_configgpio(GPIO_ENC28J60_INTR);
|
||||||
@@ -171,7 +171,7 @@ void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool sele
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
if (devid == SPIDEV_ETHERNET)
|
if (devid == SPIDEV_ETHERNET)
|
||||||
{
|
{
|
||||||
/* Set the GPIO low to select and high to de-select */
|
/* Set the GPIO low to select and high to de-select */
|
||||||
|
|||||||
@@ -105,18 +105,28 @@ void stm32_ledinit(void)
|
|||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: stm32_setled
|
* Name: stm32_setled
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Set one LED to the 'ledon' state. The LEDs are pulled up and, hence,
|
||||||
|
* active low.
|
||||||
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void stm32_setled(int led, bool ledon)
|
void stm32_setled(int led, bool ledon)
|
||||||
{
|
{
|
||||||
if ((unsigned)led < BOARD_NLEDS)
|
if ((unsigned)led < BOARD_NLEDS)
|
||||||
{
|
{
|
||||||
stm32_gpiowrite(g_ledcfg[led], ledon);
|
stm32_gpiowrite(g_ledcfg[led], !ledon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: stm32_setleds
|
* Name: stm32_setleds
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Set each LED to the bit encoded state. The LEDs are pulled up and,
|
||||||
|
* hence, active low.
|
||||||
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void stm32_setleds(uint8_t ledset)
|
void stm32_setleds(uint8_t ledset)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# configs/olimes-strp711/nettest/defconfig
|
# configs/olimes-strp711/nettest/defconfig
|
||||||
#
|
#
|
||||||
# Copyright (C) 2010 Gregory Nutt. All rights reserved.
|
# Copyright (C) 2010 Gregory Nutt. All rights reserved.
|
||||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
@@ -235,7 +235,7 @@ CONFIG_FS_ROMFS=n
|
|||||||
#
|
#
|
||||||
# ENC28J60 configuration
|
# ENC28J60 configuration
|
||||||
#
|
#
|
||||||
CONFIG_NET_ENC28J60=y
|
CONFIG_ENC28J60=y
|
||||||
#CONFIG_ENC28J60_SPIMODE
|
#CONFIG_ENC28J60_SPIMODE
|
||||||
CONFIG_ENC28J60_FREQUENCY=20000000
|
CONFIG_ENC28J60_FREQUENCY=20000000
|
||||||
CONFIG_ENC28J60_NINTERFACES=1
|
CONFIG_ENC28J60_NINTERFACES=1
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# configs/olimex-strp711/src/Makefile
|
# configs/olimex-strp711/src/Makefile
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved.
|
# Copyright (C) 2007-2008, 2010, 2012 Gregory Nutt. All rights reserved.
|
||||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
@@ -51,7 +51,7 @@ CSRCS = up_spi.c up_leds.c up_buttons.c
|
|||||||
ifeq ($(CONFIG_NSH_ARCHINIT),y)
|
ifeq ($(CONFIG_NSH_ARCHINIT),y)
|
||||||
CSRCS += up_nsh.c
|
CSRCS += up_nsh.c
|
||||||
endif
|
endif
|
||||||
ifeq ($(CONFIG_NET_ENC28J60),y)
|
ifeq ($(CONFIG_ENC28J60),y)
|
||||||
CSRCS += up_enc28j60.c
|
CSRCS += up_enc28j60.c
|
||||||
endif
|
endif
|
||||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
#include "str71x_internal.h"
|
#include "str71x_internal.h"
|
||||||
|
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -182,17 +182,17 @@ static const struct enc_lower_s g_enclower =
|
|||||||
* Name: struct enc_lower_s methods
|
* Name: struct enc_lower_s methods
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static int up_attach(FAR struct enc_lower_s *lower, xcpt_t handler)
|
static int up_attach(FAR const struct enc_lower_s *lower, xcpt_t handler)
|
||||||
{
|
{
|
||||||
return irq_attach(ENC28J60_IRQ, handler)
|
return irq_attach(ENC28J60_IRQ, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void up_enable(FAR struct enc_lower_s *lower)
|
static void up_enable(FAR const struct enc_lower_s *lower)
|
||||||
{
|
{
|
||||||
up_enable_irq(ENC28J60_IRQ);
|
up_enable_irq(ENC28J60_IRQ);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void up_disable(FAR struct enc_lower_s *lower)
|
static void up_disable(FAR const struct enc_lower_s *lower)
|
||||||
{
|
{
|
||||||
up_disable_irq(ENC28J60_IRQ);
|
up_disable_irq(ENC28J60_IRQ);
|
||||||
}
|
}
|
||||||
@@ -237,7 +237,7 @@ void up_netinitialize(void)
|
|||||||
|
|
||||||
/* Bind the SPI port to the ENC28J60 driver */
|
/* Bind the SPI port to the ENC28J60 driver */
|
||||||
|
|
||||||
ret = enc_initialize(spi, ENC28J60_DEVNO, &g_enclower);
|
ret = enc_initialize(spi, &g_enclower, ENC28J60_DEVNO);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
nlldbg("Failed to bind SPI port %d ENC28J60 device %d: %d\n",
|
nlldbg("Failed to bind SPI port %d ENC28J60 device %d: %d\n",
|
||||||
@@ -248,4 +248,4 @@ void up_netinitialize(void)
|
|||||||
nllvdbg("Bound SPI port %d to ENC28J60 device %d\n",
|
nllvdbg("Bound SPI port %d to ENC28J60 device %d\n",
|
||||||
ENC28J60_SPI_PORTNO, ENC28J60_DEVNO);
|
ENC28J60_SPI_PORTNO, ENC28J60_DEVNO);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_NET_ENC28J60 */
|
#endif /* CONFIG_ENC28J60 */
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* config/olimex-strp711/src/up_spi.c
|
* config/olimex-strp711/src/up_spi.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008-2010 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2008-2010,2012 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
* P0.4/S1.MISO P0.4 output 6 5 NET RST
|
* P0.4/S1.MISO P0.4 output 6 5 NET RST
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
|
|
||||||
/* UART3, I2C cannot be used with SPI0. The GPIOs selected for the ENC28J60
|
/* UART3, I2C cannot be used with SPI0. The GPIOs selected for the ENC28J60
|
||||||
* interrupt conflict with BSPI1
|
* interrupt conflict with BSPI1
|
||||||
@@ -981,7 +981,7 @@ FAR struct spi_dev_s *up_spiinitialize(int port)
|
|||||||
* reset (also active low)
|
* reset (also active low)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_NET_ENC28J60
|
#ifdef CONFIG_ENC28J60
|
||||||
reg16 = getreg16(STR71X_GPIO0_PD);
|
reg16 = getreg16(STR71X_GPIO0_PD);
|
||||||
reg16 |= (ENC_GPIO0_CS | ENC_GPIO0_NETRST);
|
reg16 |= (ENC_GPIO0_CS | ENC_GPIO0_NETRST);
|
||||||
putreg16(reg16, STR71X_GPIO0_PD);
|
putreg16(reg16, STR71X_GPIO0_PD);
|
||||||
|
|||||||
Reference in New Issue
Block a user