summaryrefslogtreecommitdiff
path: root/nuttx/configs/fire-stm32v2
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-11 16:50:16 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-11 16:50:16 +0000
commit88da8a5b4f042532c0b980510b0d90b77158eff4 (patch)
tree7549e64438eb97eda761a8274c9e00fa92870b20 /nuttx/configs/fire-stm32v2
parent9f572dff87614ce1d025e8d98fac36db13bcfd71 (diff)
downloadpx4-nuttx-88da8a5b4f042532c0b980510b0d90b77158eff4.tar.gz
px4-nuttx-88da8a5b4f042532c0b980510b0d90b77158eff4.tar.bz2
px4-nuttx-88da8a5b4f042532c0b980510b0d90b77158eff4.zip
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
Diffstat (limited to 'nuttx/configs/fire-stm32v2')
-rw-r--r--nuttx/configs/fire-stm32v2/include/board.h8
-rw-r--r--nuttx/configs/fire-stm32v2/nsh/defconfig114
-rw-r--r--nuttx/configs/fire-stm32v2/src/Makefile2
-rw-r--r--nuttx/configs/fire-stm32v2/src/fire-internal.h6
-rw-r--r--nuttx/configs/fire-stm32v2/src/up_autoleds.c18
-rw-r--r--nuttx/configs/fire-stm32v2/src/up_enc28j60.c31
-rw-r--r--nuttx/configs/fire-stm32v2/src/up_spi.c4
-rw-r--r--nuttx/configs/fire-stm32v2/src/up_userleds.c12
8 files changed, 71 insertions, 124 deletions
diff --git a/nuttx/configs/fire-stm32v2/include/board.h b/nuttx/configs/fire-stm32v2/include/board.h
index 532e4347e..36f09e7a8 100644
--- a/nuttx/configs/fire-stm32v2/include/board.h
+++ b/nuttx/configs/fire-stm32v2/include/board.h
@@ -256,14 +256,14 @@
* PIN NAME SIGNAL NOTES
* --- ------ -------------- -------------------------------------------------------------------
*
- * 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
+ * 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
* 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
*/
-#if defined(CONFIG_STM32_USART1) && !defined(CONFIG_STM32_USART1_REMAP)
-# errror "USART1 requires CONFIG_STM32_USART1_REMAP=y"
+#if defined(CONFIG_STM32_USART1) && defined(CONFIG_STM32_USART1_REMAP)
+# errror "USART1 requires CONFIG_STM32_USART1_REMAP=n"
#endif
#if defined(CONFIG_STM32_USART2) && defined(CONFIG_STM32_USART2_REMAP)
diff --git a/nuttx/configs/fire-stm32v2/nsh/defconfig b/nuttx/configs/fire-stm32v2/nsh/defconfig
index ce22a74c9..ef5fcbf40 100644
--- a/nuttx/configs/fire-stm32v2/nsh/defconfig
+++ b/nuttx/configs/fire-stm32v2/nsh/defconfig
@@ -131,7 +131,7 @@ CONFIG_STM32_I2C1=y
# CONFIG_STM32_IWDG is not set
CONFIG_STM32_PWR=y
CONFIG_STM32_SDIO=y
-# CONFIG_STM32_SPI1 is not set
+CONFIG_STM32_SPI1=y
# CONFIG_STM32_SPI2 is not set
# CONFIG_STM32_SPI4 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_USB=y
# CONFIG_STM32_WWDG is not set
+CONFIG_STM32_SPI=y
#
# Alternate Pin Mapping
#
-CONFIG_STM32_USART1_REMAP=y
+# CONFIG_STM32_USART1_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_JTAG_DISABLE is not set
CONFIG_STM32_JTAG_FULL_ENABLE=y
@@ -164,6 +166,12 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
# 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
#
CONFIG_SDIO_DMA=y
@@ -300,71 +308,27 @@ CONFIG_DEV_NULL=y
# CONFIG_DEV_ZERO is not set
# CONFIG_LOOP is not set
# CONFIG_RAMDISK is not set
-
-#
-# CAN Driver Options
-#
# CONFIG_CAN is not set
-
-#
-# PWM Driver Options
-#
# CONFIG_PWM is not set
-
-#
-# I2C Driver Options
-#
CONFIG_I2C=y
# CONFIG_I2C_SLAVE is not set
CONFIG_I2C_TRANSFER=y
# CONFIG_I2C_WRITEREAD is not set
CONFIG_I2C_POLLED=y
# CONFIG_I2C_TRACE is not set
-
-#
-# SPI Driver Options
-#
CONFIG_SPI=y
# CONFIG_SPI_OWNBUS is not set
CONFIG_SPI_EXCHANGE=y
-CONFIG_SPI_CMDDATA=y
-
-#
-# RTC Driver Options
-#
+# CONFIG_SPI_CMDDATA is not set
CONFIG_RTC=y
# CONFIG_RTC_DATETIME is not set
# CONFIG_RTC_HIRES is not set
# CONFIG_RTC_ALARM is not set
-
-#
-# Watchdog Driver Options
-#
# CONFIG_WATCHDOG is not set
-
-#
-# Analog Driver Options
-#
# CONFIG_ANALOG is not set
-
-#
-# Block-to-Character Driver Support
-#
# CONFIG_BCH is not set
-
-#
-# Input device Driver Options
-#
# CONFIG_INPUT is not set
-
-#
-# LCD Driver Options
-#
# CONFIG_LCD is not set
-
-#
-# MMCSD Driver Options
-#
CONFIG_MMCSD=y
CONFIG_MMCSD_NSLOTS=1
# CONFIG_MMCSD_READONLY is not set
@@ -375,42 +339,23 @@ CONFIG_MMCSD_SPI=y
CONFIG_MMCSD_SPICLOCK=20000000
CONFIG_MMCSD_SDIO=y
# CONFIG_SDIO_MUXBUS is not set
-
-#
-# I2C Driver Options
-#
# CONFIG_MTD is not set
-
-#
-# Network Device Driver Options
-#
-# CONFIG_NETDEVICES is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NET_DM90x0 is not set
+CONFIG_ENC28J60=y
+CONFIG_ENC28J60_NINTERFACES=1
+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
-
-#
-# Pipe Options
-#
+# CONFIG_NET_VNET is not set
# CONFIG_PIPES is not set
-
-#
-# Power Management Options
-#
# CONFIG_PM is not set
# CONFIG_POWER is not set
-
-#
-# Sensor Driver Options
-#
# CONFIG_SENSORS is not set
-
-#
-# Osmocom-bb Sercomm Driver Options
-#
# CONFIG_SERCOMM_CONSOLE is not set
-
-#
-# Serial Driver Options
-#
CONFIG_SERIAL=y
# CONFIG_LOWLEVEL_CONSOLE is not set
# CONFIG_16550_UART is not set
@@ -441,10 +386,6 @@ CONFIG_USART2_BAUD=115200
CONFIG_USART2_BITS=8
CONFIG_USART2_PARITY=0
CONFIG_USART2_2STOP=0
-
-#
-# USB Device Driver Options
-#
CONFIG_USBDEV=y
# CONFIG_USBDEV_COMPOSITE is not set
# CONFIG_USBDEV_ISOCHRONOUS is not set
@@ -468,15 +409,7 @@ CONFIG_USBMSC_PRODUCTID=0x5342
CONFIG_USBMSC_PRODUCTSTR="USBdev Storage"
CONFIG_USBMSC_VERSIONNO=0x0399
CONFIG_USBMSC_REMOVABLE=y
-
-#
-# USB Host Driver Options
-#
# CONFIG_USBHOST is not set
-
-#
-# Wireless Device Driver Options
-#
# CONFIG_WIRELESS is not set
#
@@ -495,7 +428,7 @@ CONFIG_NET=y
# CONFIG_NET_NOINTS is not set
# CONFIG_NET_MULTIBUFFER is not set
# CONFIG_NET_IPv6 is not set
-CONFIG_NSOCKET_DESCRIPTORS=0
+CONFIG_NSOCKET_DESCRIPTORS=16
CONFIG_NET_NACTIVESOCKETS=16
CONFIG_NET_SOCKOPTS=y
CONFIG_NET_BUFSIZE=562
@@ -512,7 +445,7 @@ CONFIG_NET_UDP_CHECKSUMS=y
CONFIG_NET_UDP_CONNS=8
CONFIG_NET_BROADCAST=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_IGMP is not set
CONFIG_NET_STATISTICS=y
@@ -532,6 +465,7 @@ CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y
CONFIG_FAT_MAXFNAME=32
# CONFIG_FS_FATTIME is not set
+# CONFIG_FAT_DMAMEMORY is not set
# CONFIG_FS_RAMMAP is not set
# CONFIG_NFS is not set
# CONFIG_FS_NXFFS is not set
diff --git a/nuttx/configs/fire-stm32v2/src/Makefile b/nuttx/configs/fire-stm32v2/src/Makefile
index b5466ef1e..4c4fd1d41 100644
--- a/nuttx/configs/fire-stm32v2/src/Makefile
+++ b/nuttx/configs/fire-stm32v2/src/Makefile
@@ -56,7 +56,7 @@ else
CSRCS += up_userleds.c
endif
-ifeq ($(CONFIG_NET_ENC28J60),y)
+ifeq ($(CONFIG_ENC28J60),y)
CSRCS += up_enc28j60.c
endif
diff --git a/nuttx/configs/fire-stm32v2/src/fire-internal.h b/nuttx/configs/fire-stm32v2/src/fire-internal.h
index 125e030b7..ee3c3486f 100644
--- a/nuttx/configs/fire-stm32v2/src/fire-internal.h
+++ b/nuttx/configs/fire-stm32v2/src/fire-internal.h
@@ -191,7 +191,7 @@
* 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|\
GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4)
#endif
@@ -210,11 +210,11 @@
* 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"
#endif
-#ifdef CONFIG_NET_ENC28J60
+#ifdef CONFIG_ENC28J60
# define GPIO_ENC28J60_CS (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN4)
# define GPIO_ENC28J60_RESET (GPIO_OUTPUT|GPIO_CNF_OUTPP|GPIO_MODE_50MHz|\
diff --git a/nuttx/configs/fire-stm32v2/src/up_autoleds.c b/nuttx/configs/fire-stm32v2/src/up_autoleds.c
index 088d0b14d..4e70b01dd 100644
--- a/nuttx/configs/fire-stm32v2/src/up_autoleds.c
+++ b/nuttx/configs/fire-stm32v2/src/up_autoleds.c
@@ -193,7 +193,8 @@ static struct pm_callback_s g_ledscb =
* Name: led_clrbits
*
* 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)
{
- stm32_gpiowrite(GPIO_LED1, false);
+ stm32_gpiowrite(GPIO_LED1, true);
}
if ((clrbits & FIRE_LED2) != 0)
{
- stm32_gpiowrite(GPIO_LED2, false);
+ stm32_gpiowrite(GPIO_LED2, true);
}
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
*
* 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)
{
- stm32_gpiowrite(GPIO_LED1, true);
+ stm32_gpiowrite(GPIO_LED1, false);
}
if ((setbits & FIRE_LED2) != 0)
{
- stm32_gpiowrite(GPIO_LED2, true);
+ stm32_gpiowrite(GPIO_LED2, false);
}
if ((setbits & FIRE_LED3) != 0)
{
- stm32_gpiowrite(GPIO_LED3, true);
+ stm32_gpiowrite(GPIO_LED3, false);
}
}
diff --git a/nuttx/configs/fire-stm32v2/src/up_enc28j60.c b/nuttx/configs/fire-stm32v2/src/up_enc28j60.c
index 8f67496c5..5247f5886 100644
--- a/nuttx/configs/fire-stm32v2/src/up_enc28j60.c
+++ b/nuttx/configs/fire-stm32v2/src/up_enc28j60.c
@@ -63,9 +63,9 @@
#include "chip.h"
#include "up_arch.h"
#include "up_internal.h"
-#include "fire_internal.h"
+#include "fire-internal.h"
-#ifdef CONFIG_NET_ENC28J60
+#ifdef CONFIG_ENC28J60
/****************************************************************************
* Definitions
@@ -110,9 +110,9 @@ struct stm32_lower_s
* Private Function Prototypes
****************************************************************************/
-static int up_attach(FAR struct enc_lower_s *lower, xcpt_t handler);
-static void up_enable(FAR struct enc_lower_s *lower);
-static void up_disable(FAR struct enc_lower_s *lower);
+static int up_attach(FAR const struct enc_lower_s *lower, xcpt_t handler);
+static void up_enable(FAR const struct enc_lower_s *lower);
+static void up_disable(FAR const struct enc_lower_s *lower);
/****************************************************************************
* Private Data
@@ -123,13 +123,15 @@ static void up_disable(FAR struct enc_lower_s *lower);
* the ENC28J60 GPIO interrupt.
*/
-static const struct enc_lower_s g_enclower =
+static struct stm32_lower_s g_enclower =
{
+ .lower =
{
.attach = up_attach,
.enable = up_enable,
.disable = up_disable
- }
+ },
+ .handler = NULL,
};
/****************************************************************************
@@ -140,25 +142,25 @@ static const struct enc_lower_s g_enclower =
* 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;
/* Just save the handler for use when the interrupt is enabled */
- priv-handler = handler;
+ priv->handler = handler;
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;
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);
}
@@ -174,7 +176,6 @@ static void up_disable(FAR struct enc_lower_s *lower)
void up_netinitialize(void)
{
FAR struct spi_dev_s *spi;
- uint16_t reg16;
int ret;
/* Assumptions:
@@ -195,7 +196,7 @@ void up_netinitialize(void)
/* 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)
{
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);
}
-#endif /* CONFIG_NET_ENC28J60 */
+#endif /* CONFIG_ENC28J60 */
diff --git a/nuttx/configs/fire-stm32v2/src/up_spi.c b/nuttx/configs/fire-stm32v2/src/up_spi.c
index 085542b13..329274b7f 100644
--- a/nuttx/configs/fire-stm32v2/src/up_spi.c
+++ b/nuttx/configs/fire-stm32v2/src/up_spi.c
@@ -111,7 +111,7 @@ void weak_function stm32_spiinitialize(void)
/* 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_RESET);
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
#endif
-#ifdef CONFIG_NET_ENC28J60
+#ifdef CONFIG_ENC28J60
if (devid == SPIDEV_ETHERNET)
{
/* Set the GPIO low to select and high to de-select */
diff --git a/nuttx/configs/fire-stm32v2/src/up_userleds.c b/nuttx/configs/fire-stm32v2/src/up_userleds.c
index f7e3dbf9e..da43d03ad 100644
--- a/nuttx/configs/fire-stm32v2/src/up_userleds.c
+++ b/nuttx/configs/fire-stm32v2/src/up_userleds.c
@@ -105,18 +105,28 @@ void stm32_ledinit(void)
/****************************************************************************
* 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)
{
if ((unsigned)led < BOARD_NLEDS)
{
- stm32_gpiowrite(g_ledcfg[led], ledon);
+ stm32_gpiowrite(g_ledcfg[led], !ledon);
}
}
/****************************************************************************
* 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)