From d0d3328d9cec65a161330c29aa318d1a3ded63e3 Mon Sep 17 00:00:00 2001 From: patacongo Date: Wed, 2 Jan 2013 14:02:07 +0000 Subject: [PATCH] Misc fixes for LM3S kconfig-frontends build git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5472 42af7a65-404d-4744-a932-0658087f49c3 --- misc/buildroot/configs/cortexm3-defconfig-4.3.3 | 7 +++++++ nuttx/ChangeLog | 5 ++++- nuttx/arch/arm/src/arm/Kconfig | 7 +++++++ nuttx/arch/arm/src/arm/Toolchain.defs | 5 +++++ nuttx/arch/arm/src/armv7-m/Kconfig | 8 ++++++++ nuttx/arch/arm/src/armv7-m/Toolchain.defs | 11 ++++++----- nuttx/configs/Kconfig | 2 +- nuttx/configs/lm3s6965-ek/nsh/defconfig | 7 ++++++- nuttx/configs/lm3s6965-ek/nx/defconfig | 1 + nuttx/configs/lm3s6965-ek/ostest/defconfig | 1 + nuttx/drivers/Kconfig | 3 ++- nuttx/drivers/mmcsd/Kconfig | 3 ++- 12 files changed, 50 insertions(+), 10 deletions(-) diff --git a/misc/buildroot/configs/cortexm3-defconfig-4.3.3 b/misc/buildroot/configs/cortexm3-defconfig-4.3.3 index 664000a168..a3371531be 100644 --- a/misc/buildroot/configs/cortexm3-defconfig-4.3.3 +++ b/misc/buildroot/configs/cortexm3-defconfig-4.3.3 @@ -14,6 +14,7 @@ BR2_arm=y # BR2_m68k is not set # BR2_m68hc11 is not set # BR2_m68hc12 is not set +# BR2_m9s12x is not set # BR2_mips is not set # BR2_mipsel is not set # BR2_nios2 is not set @@ -71,8 +72,11 @@ BR2_GNU_TARGET_SUFFIX="nuttx-elf" # Binutils Options # # BR2_BINUTILS_VERSION_2_17 is not set +# BR2_BINUTILS_VERSION_2_18 is not set # BR2_BINUTILS_VERSION_2_19 is not set BR2_BINUTILS_VERSION_2_19_1=y +# BR2_BINUTILS_VERSION_2_21_1 is not set +# BR2_BINUTILS_VERSION_2_22 is not set BR2_BINUTILS_VERSION="2.19.1" BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" @@ -80,9 +84,12 @@ BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" # GCC Options # BR2_PACKAGE_GCC=y +# BR2_GCC_VERSION_3_3_6 is not set # BR2_GCC_VERSION_3_4_6 is not set # BR2_GCC_VERSION_4_2_4 is not set BR2_GCC_VERSION_4_3_3=y +# BR2_GCC_VERSION_4_5_2 is not set +# BR2_GCC_VERSION_4_6_3 is not set BR2_GCC_SUPPORTS_SYSROOT=y BR2_GCC_VERSION="4.3.3" # BR2_GCC_USE_SJLJ_EXCEPTIONS is not set diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 7f2bda4579..ee43a897e5 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3851,4 +3851,7 @@ Updates and correctinos for the UG-2864HSWEG01 from Darcy Gong. * configs/lm326965-ek: All configurations converted to use the kconfig-frontends configuration tool. - + * configs/Kconfig: NSH_MMCSDSPIPORTNO should depend on MMCSD_SPI, + not just SPI (from Jose Pablo Carballo). + * arch/arm/src/arm/Kconfig and armv7m/Kconfig: Add an option for + buildroot toolchains: They may be EABI or OABI. diff --git a/nuttx/arch/arm/src/arm/Kconfig b/nuttx/arch/arm/src/arm/Kconfig index 0d08d89a8e..665fab5758 100644 --- a/nuttx/arch/arm/src/arm/Kconfig +++ b/nuttx/arch/arm/src/arm/Kconfig @@ -33,3 +33,10 @@ config ARM_TOOLCHAIN_GNU_EABI configured for arm-none-eabi. endchoice + +config ARM_OABI_TOOLCHAIN + bool "OABI (vs EABI)" + default y + depends on ARM_TOOLCHAIN_BUILDROOT + ---help--- + Most of the older buildroot toolchains are OABI and are named arm-nuttx-elf- vs. arm-nuttx-eabi- diff --git a/nuttx/arch/arm/src/arm/Toolchain.defs b/nuttx/arch/arm/src/arm/Toolchain.defs index defe30b51b..ea11c4dc90 100644 --- a/nuttx/arch/arm/src/arm/Toolchain.defs +++ b/nuttx/arch/arm/src/arm/Toolchain.defs @@ -102,8 +102,13 @@ endif # NuttX buildroot under Linux or Cygwin ifeq ($(CONFIG_ARM_TOOLCHAIN),BUILDROOT) +ifeq ($(CONFIG_ARMV_OABI_TOOLCHAIN),y) CROSSDEV = arm-nuttx-elf- ARCROSSDEV = arm-nuttx-elf- +else + CROSSDEV = arm-nuttx-eabi- + ARCROSSDEV = arm-nuttx-eabi- +endif MAXOPTIMIZATION = -Os endif diff --git a/nuttx/arch/arm/src/armv7-m/Kconfig b/nuttx/arch/arm/src/armv7-m/Kconfig index dc5aa39153..a154a4c5c4 100644 --- a/nuttx/arch/arm/src/armv7-m/Kconfig +++ b/nuttx/arch/arm/src/armv7-m/Kconfig @@ -49,3 +49,11 @@ config ARMV7M_TOOLCHAIN_RAISONANCE depends on HOST_WINDOWS endchoice + +config ARMV7M_OABI_TOOLCHAIN + bool "OABI (vs EABI)" + default y + depends on ARMV7M_TOOLCHAIN_BUILDROOT + ---help--- + Most of the older buildroot toolchains are OABI and are named arm-nuttx-elf- vs. arm-nuttx-eabi- + diff --git a/nuttx/arch/arm/src/armv7-m/Toolchain.defs b/nuttx/arch/arm/src/armv7-m/Toolchain.defs index e214ce8bd0..d7f2ed77f1 100644 --- a/nuttx/arch/arm/src/armv7-m/Toolchain.defs +++ b/nuttx/arch/arm/src/armv7-m/Toolchain.defs @@ -160,14 +160,15 @@ endif # NuttX buildroot under Linux or Cygwin ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),BUILDROOT) - # OABI - # CROSSDEV = arm-nuttx-elf- - # ARCROSSDEV = arm-nuttx-elf- - # ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft - # EABI +ifeq ($(CONFIG_ARMV7M_OABI_TOOLCHAIN),y) + CROSSDEV = arm-nuttx-elf- + ARCROSSDEV = arm-nuttx-elf- + ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft +else CROSSDEV = arm-nuttx-eabi- ARCROSSDEV = arm-nuttx-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif MAXOPTIMIZATION = -Os endif diff --git a/nuttx/configs/Kconfig b/nuttx/configs/Kconfig index cda5aa7bcd..d851eeccb1 100644 --- a/nuttx/configs/Kconfig +++ b/nuttx/configs/Kconfig @@ -761,7 +761,7 @@ config NSH_MMCSDSLOTNO config NSH_MMCSDSPIPORTNO int "MMC/SD SPI device number" default 0 - depends on NSH_LIBRARY && MMCSD && SPI + depends on NSH_LIBRARY && MMCSD && MMCSD_SPI ---help--- If board-specif NSH start-up logic will mount an SPI-based MMC/SD volume, then this setting may be needed to tell the board logic which SPI bus to use. Default: 0 (meaning is board-specific). diff --git a/nuttx/configs/lm3s6965-ek/nsh/defconfig b/nuttx/configs/lm3s6965-ek/nsh/defconfig index 84651012d6..1213797a77 100755 --- a/nuttx/configs/lm3s6965-ek/nsh/defconfig +++ b/nuttx/configs/lm3s6965-ek/nsh/defconfig @@ -89,6 +89,7 @@ CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y # CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set # CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set # CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI is not set +CONFIG_ARMV7M_OABI_TOOLCHAIN=y # # LM3S Configuration Options @@ -189,6 +190,7 @@ CONFIG_ARCH_HAVE_LEDS=y CONFIG_ARCH_LEDS=y CONFIG_NSH_MMCSDMINOR=0 CONFIG_NSH_MMCSDSLOTNO=0 +CONFIG_NSH_MMCSDSPIPORTNO=0 # # Board-Specific Options @@ -259,7 +261,10 @@ CONFIG_DEV_NULL=y # CONFIG_CAN is not set # CONFIG_PWM is not set # CONFIG_I2C is not set -# CONFIG_SPI is not set +CONFIG_SPI=y +# CONFIG_SPI_OWNBUS is not set +CONFIG_SPI_EXCHANGE=y +# CONFIG_SPI_CMDDATA is not set # CONFIG_RTC is not set # CONFIG_WATCHDOG is not set # CONFIG_ANALOG is not set diff --git a/nuttx/configs/lm3s6965-ek/nx/defconfig b/nuttx/configs/lm3s6965-ek/nx/defconfig index 5fb666e65b..7fca4d7357 100755 --- a/nuttx/configs/lm3s6965-ek/nx/defconfig +++ b/nuttx/configs/lm3s6965-ek/nx/defconfig @@ -89,6 +89,7 @@ CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y # CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set # CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set # CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI is not set +CONFIG_ARMV7M_OABI_TOOLCHAIN=y # # LM3S Configuration Options diff --git a/nuttx/configs/lm3s6965-ek/ostest/defconfig b/nuttx/configs/lm3s6965-ek/ostest/defconfig index d1168ad45a..abfdcc251f 100755 --- a/nuttx/configs/lm3s6965-ek/ostest/defconfig +++ b/nuttx/configs/lm3s6965-ek/ostest/defconfig @@ -89,6 +89,7 @@ CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y # CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set # CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set # CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI is not set +CONFIG_ARMV7M_OABI_TOOLCHAIN=y # # LM3S Configuration Options diff --git a/nuttx/drivers/Kconfig b/nuttx/drivers/Kconfig index 8302d21b71..3ced01b587 100644 --- a/nuttx/drivers/Kconfig +++ b/nuttx/drivers/Kconfig @@ -140,7 +140,8 @@ menuconfig SPI bool "SPI Driver Support" default n ---help--- - This selection enables building of the "upper-half" SPI driver. + This selection enables selection of common SPI options. This option + should be enabled by all platforms that support SPI interfaces. See include/nuttx/spi.h for further SPI driver information. if SPI diff --git a/nuttx/drivers/mmcsd/Kconfig b/nuttx/drivers/mmcsd/Kconfig index f3a64be6ce..5cdc23bcf8 100644 --- a/nuttx/drivers/mmcsd/Kconfig +++ b/nuttx/drivers/mmcsd/Kconfig @@ -39,8 +39,9 @@ config MMCSD_HAVECARDDETECT 100% accurate config MMCSD_SPI - bool "MMC/SD spi transfer support" + bool "MMC/SD SPI transfer support" default y + depends on SPI config MMCSD_SPICLOCK int "MMC/SD maximum SPI clock"