The M3 Wildfire port is code complete and ready for test

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5125 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-09-10 22:26:37 +00:00
parent 84ec123a1e
commit 0fcb7e439a
15 changed files with 1341 additions and 71 deletions

10
Kconfig
View File

@ -331,24 +331,24 @@ menu "Device Drivers"
source drivers/Kconfig
endmenu
menu "Networking support"
menu "Networking Support"
source net/Kconfig
endmenu
menu "File systems"
menu "File Systems"
source fs/Kconfig
endmenu
menu "Memory management"
menu "Memory Management"
source mm/Kconfig
endmenu
menu "Library routines"
menu "Library Routines"
source lib/Kconfig
source libxx/Kconfig
endmenu
menu "Application configuration"
menu "Application Configuration"
source "$APPSDIR/Kconfig"
endmenu

View File

@ -107,6 +107,10 @@ config ARCH_NOINTC
bool
default n
config ARCH_DMA
bool
default n
config ARCH_STACKDUMP
bool "Dump stack on assertions"
default n

View File

@ -10,20 +10,64 @@ choice
default ARCH_CHIP_STM32F103ZET6
depends on ARCH_CHIP_STM32
config ARCH_CHIP_STM32F103ZET6
bool "STM32F103ZET6"
config ARCH_CHIP_STM32F100C8
bool "STM32F100C8"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_VALUELINE
config ARCH_CHIP_STM32F100CB
bool "STM32F100CB"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_VALUELINE
config ARCH_CHIP_STM32F100R8
bool "STM32F100R8"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_VALUELINE
config ARCH_CHIP_STM32F100RB
bool "STM32F100RB"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_VALUELINE
config ARCH_CHIP_STM32F100V8
bool "STM32F100V8"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_VALUELINE
config ARCH_CHIP_STM32F100VB
bool "STM32F100VB"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_VALUELINE
config ARCH_CHIP_STM32F103RET6
bool "STM32F103RET6"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_HIGHDENSITY
config ARCH_CHIP_STM32F103VCT6
bool "STM32F103VCT6"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_HIGHDENSITY
config ARCH_CHIP_STM32F103VET6
bool "STM32F103VET6"
select ARCH_CORTEXM3
select STM32_STM32F10XX
select STM32_HIGHDENSITY
config ARCH_CHIP_STM32F103ZET6
bool "STM32F103ZET6"
select ARCH_CORTEXM3
select STM32_STM32F10XX
config ARCH_CHIP_STM32F105VBT7
bool "STM32F105VBT7"
@ -92,6 +136,12 @@ endchoice
config STM32_STM32F10XX
bool
config STM32_VALUELINE
bool
config STM32_HIGHDENSITY
bool
config STM32_CONNECTIVITYLINE
bool
@ -157,10 +207,12 @@ config STM32_CRC
config STM32_DMA1
bool "DMA1"
default n
select ARCH_DMA
config STM32_DMA2
bool "DMA2"
default n
select ARCH_DMA
config STM32_BKP
bool "BKP"
@ -408,10 +460,6 @@ config STM32_SPI
bool
default y if STM32_SPI1 || STM32_SPI2 || STM32_SPI3 || STM32_SPI4
config STM32_DMA
bool
default y if STM32_DMA1 || STM32_DMA2
config STM32_CAN
bool
default y if STM32_CAN1 || STM32_CAN2
@ -580,7 +628,7 @@ config ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG
config STM32_CCMEXCLUDE
bool "Exclude CCM SRAM from the heap"
depends on STM32_STM32F20XX || STM32_STM32F40XX
default y if STM32_DMA1 || STM32_DMA2
default y if ARCH_DMA
---help---
Exclude CCM SRAM from the HEAP because it cannot be used for DMA.
@ -1485,42 +1533,42 @@ endchoice
config USART1_RXDMA
bool "USART1 Rx DMA"
default n
depends on STM32_STM32F40XX && ARCH_DMA && STM32_DMA2
depends on STM32_STM32F40XX && STM32_DMA2
---help---
In high data rate usage, Rx DMA may eliminate Rx overrun errors
config USART2_RXDMA
bool "USART2 Rx DMA"
default n
depends on STM32_STM32F40XX && ARCH_DMA && STM32_DMA1
depends on STM32_STM32F40XX && STM32_DMA1
---help---
In high data rate usage, Rx DMA may eliminate Rx overrun errors
config USART3_RXDMA
bool "USART3 Rx DMA"
default n
depends on STM32_STM32F40XX && ARCH_DMA && STM32_DMA1
depends on STM32_STM32F40XX && STM32_DMA1
---help---
In high data rate usage, Rx DMA may eliminate Rx overrun errors
config UART4_RXDMA
bool "UART4 Rx DMA"
default n
depends on STM32_STM32F40XX && ARCH_DMA && STM32_DMA1
depends on STM32_STM32F40XX && STM32_DMA1
---help---
In high data rate usage, Rx DMA may eliminate Rx overrun errors
config UART5_RXDMA
bool "UART5 Rx DMA"
default n
depends on STM32_STM32F40XX && ARCH_DMA && STM32_DMA1
depends on STM32_STM32F40XX && STM32_DMA1
---help---
In high data rate usage, Rx DMA may eliminate Rx overrun errors
config USART6_RXDMA
bool "USART6 Rx DMA"
default n
depends on STM32_STM32F40XX && ARCH_DMA && STM32_DMA2
depends on STM32_STM32F40XX && STM32_DMA2
---help---
In high data rate usage, Rx DMA may eliminate Rx overrun errors
@ -1587,8 +1635,9 @@ menu "Ethernet MAC configuration"
config STM32_PHYADDR
int "PHY address"
default 1
---help---
The 5-bit address of the PHY on the board
The 5-bit address of the PHY on the board. Default: 1
config STM32_MII
bool "Use MII interface"

View File

@ -212,7 +212,7 @@
* should be 3.
*/
# ifdef CONFIG_STM32_DMA
# ifdef CONFIG_ARCH_DMA
# warning "CCM SRAM is included in the heap AND DMA is enabled"
# endif
# if CONFIG_MM_REGIONS != 3
@ -238,7 +238,7 @@
* should be disabled and CONFIG_MM_REGIONS should be 2.
*/
# ifdef CONFIG_STM32_DMA
# ifdef CONFIG_ARCH_DMA
# warning "CCM SRAM is included in the heap AND DMA is enabled"
# endif
# if CONFIG_MM_REGIONS < 2

View File

@ -95,4 +95,4 @@ void stm32_pwr_enablebkp(void)
stm32_pwr_modifyreg(STM32_PWR_CR_OFFSET, 0, PWR_CR_DBP);
}
#endif // defined(CONFIG_STM32_PWR)
#endif /* CONFIG_STM32_PWR */

View File

@ -113,6 +113,10 @@
# error "CONFIG_STM32_BKP is required for CONFIG_RTC"
#endif
#ifndef CONFIG_STM32_PWR
# error "CONFIG_STM32_PWR is required for CONFIG_RTC"
#endif
/* RTC/BKP Definitions *************************************************************/
/* STM32_RTC_PRESCALAR_VALUE
* RTC pre-scalar value. The RTC is driven by a 32,768Hz input clock. This input

View File

@ -544,6 +544,7 @@ config PIC32MX_RTCC
config PIC32MX_DMA
bool "DMA"
default n
select ARCH_DMA
config PIC32MX_FLASH
bool "FLASH"

View File

@ -266,7 +266,7 @@
# errror "USART1 requires CONFIG_STM32_USART1_REMAP=y"
#endif
#if defined(CONFIG_STM32_USART2) && defined()
#if defined(CONFIG_STM32_USART2) && defined(CONFIG_STM32_USART2_REMAP)
# errror "USART2 requires CONFIG_STM32_USART2_REMAP=n"
#endif

File diff suppressed because it is too large Load Diff

View File

@ -139,7 +139,7 @@ int nsh_archinitialize(void)
/* Initialize the SDIO-based MMC/SD slot */
ret = stm32_sdinitialze(CONFIG_NSH_MMCSDMINOR);
ret = stm32_sdinitialize(CONFIG_NSH_MMCSDMINOR);
if (ret < 0)
{
message("nsh_archinitialize: Failed to initialize MMC/SD slot %d: %d\n",

View File

@ -170,6 +170,7 @@ void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool sele
stm32_gpiowrite(GPIO_FLASH_CS, !selected);
}
else
#endif
#ifdef CONFIG_NET_ENC28J60
if (devid == SPIDEV_ETHERNET)
{

View File

@ -74,9 +74,11 @@
void stm32_usbinitialize(void)
{
/* USB Soft Connect Pullup: PB.14 */
/* USB Soft Connect Pullup */
#if 0 /* REVISIT */
stm32_configgpio(GPIO_USB_PULLUP);
#endif
}
/************************************************************************************
@ -94,7 +96,9 @@ void stm32_usbinitialize(void)
int stm32_usbpullup(FAR struct usbdev_s *dev, bool enable)
{
usbtrace(TRACE_DEVPULLUP, (uint16_t)enable);
#if 0 /* REVISIT */
stm32_gpiowrite(GPIO_USB_PULLUP, !enable);
#endif
return OK;
}

View File

@ -79,9 +79,16 @@ CONFIG_BOARD_LOOPSPERMSEC=5483
#
# STM32 Configuration Options
#
# CONFIG_ARCH_CHIP_STM32F103ZET6 is not set
# CONFIG_ARCH_CHIP_STM32F100C8 is not set
# CONFIG_ARCH_CHIP_STM32F100CB is not set
# CONFIG_ARCH_CHIP_STM32F100R8 is not set
# CONFIG_ARCH_CHIP_STM32F100RB is not set
# CONFIG_ARCH_CHIP_STM32F100V8 is not set
# CONFIG_ARCH_CHIP_STM32F100VB is not set
# CONFIG_ARCH_CHIP_STM32F103RET6 is not set
# CONFIG_ARCH_CHIP_STM32F103VCT6 is not set
# CONFIG_ARCH_CHIP_STM32F103VET6 is not set
# CONFIG_ARCH_CHIP_STM32F103ZET6 is not set
# CONFIG_ARCH_CHIP_STM32F105VBT7 is not set
CONFIG_ARCH_CHIP_STM32F107VC=y
# CONFIG_ARCH_CHIP_STM32F207IG is not set
@ -184,6 +191,7 @@ CONFIG_STM32_PHYSR_FULLDUPLEX=0x0004
# Architecture Options
#
# CONFIG_ARCH_NOINTC is not set
# CONFIG_ARCH_DMA is not set
CONFIG_ARCH_STACKDUMP=y
#
@ -292,30 +300,70 @@ CONFIG_PTHREAD_STACK_DEFAULT=2048
#
# Device Drivers
#
#
# Device Driver Configuration
#
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 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_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
@ -325,14 +373,42 @@ CONFIG_MMCSD_HAVECARDDETECT=y
CONFIG_MMCSD_SPI=y
CONFIG_MMCSD_SPICLOCK=12500000
# CONFIG_MMCSD_SDIO is not set
#
# I2C Driver Options
#
# CONFIG_MTD is not set
#
# Network Device Driver Options
#
# CONFIG_NETDEVICES is not set
# CONFIG_NET_SLIP is not set
#
# Pipe Options
#
# 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
@ -351,17 +427,33 @@ CONFIG_USART2_BAUD=115200
CONFIG_USART2_BITS=8
CONFIG_USART2_PARITY=0
CONFIG_USART2_2STOP=0
#
# USB Device Driver Options
#
# CONFIG_USBDEV is not set
#
# USB Host Driver Options
#
# CONFIG_USBHOST is not set
#
# Wireless Device Driver Options
#
# CONFIG_WIRELESS is not set
#
# System Logging Device Options
#
#
# System Logging
#
# CONFIG_RAMLOG is not set
#
# Networking support
# Networking Support
#
CONFIG_NET=y
# CONFIG_NET_NOINTS is not set
@ -393,7 +485,7 @@ CONFIG_NET_ARPTAB_SIZE=16
# CONFIG_NET_ARP_IPIN is not set
#
# File systems
# File Systems
#
#
@ -415,13 +507,13 @@ CONFIG_FAT_MAXFNAME=32
# CONFIG_SYSLOG is not set
#
# Memory management
# Memory Management
#
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
#
# Library routines
# Library Routines
#
CONFIG_STDIO_BUFFER_SIZE=256
CONFIG_STDIO_LINEBUFFER=y
@ -445,7 +537,7 @@ CONFIG_HAVE_CXX=y
# CONFIG_CXX_NEWLONG is not set
#
# Application configuration
# Application Configuration
#
#

View File

@ -3,8 +3,6 @@
# see misc/tools/kconfig-language.txt.
#
comment "Device Driver Configuration"
config DEV_NULL
bool "Enable /dev/null"
default y
@ -22,15 +20,17 @@ config LOOP
loteardown() in include/nuttx/fs/fs.h.
config RAMDISK
bool "RAM disk support"
bool "RAM Disk Support"
default n
---help---
Can be used to set up a block of memory or (read-only) FLASH as
a block driver that can be mounted as a files system. See
include/nuttx/ramdisk.h.
comment "CAN Driver Options"
config CAN
bool "CAN support"
bool "CAN Support"
default n
---help---
This selection enables building of the "upper-half" CAN driver.
@ -65,8 +65,10 @@ config CAN_LOOPBACK
endif
comment "PWM Driver Options"
config PWM
bool "PWM support"
bool "PWM Support"
default n
---help---
This selection enables building of the "upper-half" PWM driver.
@ -74,7 +76,7 @@ config PWM
if PWM
config PWM_PULSECOUNT
bool "PWM pulse count support"
bool "PWM Pulse Count Support"
default n
---help---
Some hardware will support generation of a fixed number of pulses. This
@ -84,18 +86,49 @@ config PWM_PULSECOUNT
endif
comment "I2C Driver Options"
config I2C
bool "I2C support"
bool "I2C Support"
default n
---help---
This selection enables building of the "upper-half" I2C driver.
See include/nuttx/i2c.h for further I2C driver information.
if I2C
endif
config I2C_SLAVE
bool "I2C Slave"
default n
depends on I2C
config I2C_TRANSFER
bool "Support the I2C transfer() method"
default n
depends on I2C
config I2C_WRITEREAD
bool "Support the I2C writeread() method"
default n
depends on I2C
config I2C_POLLED
bool "Polled I2C (no interrupts)"
default n
depends on I2C
config I2C_TRACE
bool "Enable I2C trace debug"
default n
depends on I2C
config I2C_NTRACE
bool "Enable I2C trace debug"
default n
depends on I2C_TRACE
comment "SPI Driver Options"
config SPI
bool "SPI support"
bool "SPI Support"
default n
---help---
This selection enables building of the "upper-half" SPI driver.
@ -104,7 +137,7 @@ config SPI
if SPI
config SPI_OWNBUS
bool "SPI single device"
default y
default n
---help---
Set if there is only one active device on the SPI bus. No locking or SPI
configuration will be performed. It is not necessary for clients to lock,
@ -126,8 +159,10 @@ config SPI_CMDDATA
endif
comment "RTC Driver Options"
config RTC
bool "RTC support"
bool "RTC Support"
default n
---help---
This selection enables configuration of a real time clock (RTCdriver.
@ -135,7 +170,7 @@ config RTC
Most RTC drivers are MCU specific and may require other specific settings.
config RTC_DATETIME
bool "Date/Time RTC support"
bool "Date/Time RTC Support"
default n
depends on RTC
---help---
@ -147,7 +182,7 @@ config RTC_DATETIME
timer provides for higher resolution time.
config RTC_HIRES
bool "Hi-Res RTC support"
bool "Hi-Res RTC Support"
default n
depends on RTC && !RTC_DATETIME
---help---
@ -172,15 +207,17 @@ config RTC_FREQUENCY
to be one Hz.
config RTC_ALARM
bool "RTC alarm support"
bool "RTC Alarm Support"
default n
depends on RTC
---help---
Enable if the RTC hardware supports setting of an alarm. A callback
function will be executed when the alarm goes off.
comment "Watchdog Driver Options"
config WATCHDOG
bool "Watchdog timer support"
bool "Watchdog Timer Support"
default n
---help---
This selection enables building of the "upper-half" watchdog timer driver.
@ -189,8 +226,10 @@ config WATCHDOG
if WATCHDOG
endif
comment "Analog Driver Options"
menuconfig ANALOG
bool "Analog Device(ADC/DAC) support"
bool "Analog Device(ADC/DAC) Support"
default n
---help---
This directory holds implementations of analog device drivers.
@ -202,8 +241,10 @@ if ANALOG
source drivers/analog/Kconfig
endif
comment "Block-to-Character Driver Support"
config BCH
bool "BCH support"
bool "Block-to-Character (BCH) Support"
default n
---help---
Contains logic that may be used to convert a block driver into
@ -215,8 +256,10 @@ if BCH
source drivers/bch/Kconfig
endif
comment "Input device Driver Options"
menuconfig INPUT
bool "Input device support"
bool "Input Device Support"
default n
---help---
This directory holds implementations of input device drivers.
@ -227,8 +270,10 @@ if INPUT
source drivers/input/Kconfig
endif
comment "LCD Driver Options"
menuconfig LCD
bool "LCD support"
bool "LCD Support"
default n
select NX_LCDDRIVER
---help---
@ -243,8 +288,10 @@ if LCD
source drivers/lcd/Kconfig
endif
comment "MMCSD Driver Options"
menuconfig MMCSD
bool "MMC/SD support"
bool "MMC/SD Support"
default n
---help---
Support for MMC/SD block drivers. MMC/SD block drivers based on
@ -254,9 +301,11 @@ menuconfig MMCSD
if MMCSD
source drivers/mmcsd/Kconfig
endif
comment "I2C Driver Options"
menuconfig MTD
bool "Memory Technology Device (MTD) support"
bool "Memory Technology Device (MTD) Support"
default n
---help---
Memory Technology Device (MTD) drivers. Some simple drivers for
@ -272,8 +321,10 @@ if MTD
source drivers/mtd/Kconfig
endif
comment "Network Device Driver Options"
menuconfig NETDEVICES
bool "Network Device support"
bool "Network Device Support"
default n
---help---
Network interface drivers. See also include/nuttx/net/net.h
@ -282,6 +333,8 @@ if NETDEVICES
source drivers/net/Kconfig
endif
comment "Pipe Options"
menuconfig PIPES
bool "FIFO and named pipe drivers"
default n
@ -293,6 +346,8 @@ if PIPES
source drivers/pipes/Kconfig
endif
comment "Power Management Options"
config PM
bool "Power management (PM) driver interfaces"
default n
@ -303,7 +358,7 @@ config PM
drivers are not active.
menuconfig POWER
bool "Power management device support"
bool "Power Management Support"
default n
---help---
Enable building of power-related devices (battery monitors, chargers, etc).
@ -312,8 +367,10 @@ if POWER
source drivers/power/Kconfig
endif
comment "Sensor Driver Options"
menuconfig SENSORS
bool "Sensors support"
bool "Sensors Support"
default n
---help---
Drivers for various sensors
@ -322,6 +379,8 @@ if SENSORS
source drivers/sensors/Kconfig
endif
comment "Osmocom-bb Sercomm Driver Options"
menuconfig SERCOMM_CONSOLE
bool "Osmocom-bb serial console"
default n
@ -339,8 +398,10 @@ if SERCOMM
source drivers/sercomm/Kconfig
endif
comment "Serial Driver Options"
menuconfig SERIAL
bool "Serial support"
bool "Serial Support"
default y
---help---
Front-end character drivers for chip-specific UARTs. This provide
@ -351,8 +412,10 @@ if SERIAL
source drivers/serial/Kconfig
endif
comment "USB Device Driver Options"
menuconfig USBDEV
bool "USB device support"
bool "USB Device Support"
default n
---help---
USB device drivers. See also include/nuttx/usb/usbdev.h
@ -361,8 +424,10 @@ if USBDEV
source drivers/usbdev/Kconfig
endif
comment "USB Host Driver Options"
menuconfig USBHOST
bool "USB Host support"
bool "USB Host Support"
default n
---help---
USB host drivers. See also include/nuttx/usb/usbhost.h
@ -371,8 +436,10 @@ if USBHOST
source drivers/usbhost/Kconfig
endif
comment "Wireless Device Driver Options"
menuconfig WIRELESS
bool "Wireless support"
bool "Wireless Support"
default n
---help---
Drivers for various wireless devices.
@ -381,6 +448,8 @@ if WIRELESS
source drivers/wireless/Kconfig
endif
comment "System Logging Device Options"
source drivers/syslog/Kconfig

View File

@ -75,8 +75,7 @@ config USBDEV_DUALSPEED
bool "Enable high and full speed"
default n
---help---
Hardware handles high and full speed
operation (USB 2.0)
Hardware handles high and full speed operation (USB 2.0)
choice USBDEV_POWERED
prompt "Select USB device powered"
@ -84,14 +83,12 @@ choice USBDEV_POWERED
config USBDEV_SELFPOWERED
bool "Self powerd"
---help---
Will cause USB features to indicate
that the device is self-powered
Will cause USB features to indicate that the device is self-powered
config USBDEV_BUSPOWERED
bool "Bus powerd"
---help---
Will cause USB features to indicate
that the device is self-powered
Will cause USB features to indicate that the device is self-powered
endchoice
@ -450,6 +447,10 @@ config USBMSC_PRODUCTSTR
string "Mass stroage product string"
default "Mass stroage"
config USBMSC_VERSIONNO
hex "USB MSC Version Number"
default "0x399"
config USBMSC_REMOVABLE
bool "Mass stroage remove able"
default n