summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-25 01:14:43 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-25 01:14:43 +0000
commita36af8c31efe4c7c1a72ffac987338493675173e (patch)
tree24c634bcbea2b1bd4e63fd6fffba4cd8227d9d37
parent2a57877b2c2ab489b28e2a950d540ab56bb8e2f0 (diff)
downloadpx4-nuttx-a36af8c31efe4c7c1a72ffac987338493675173e.tar.gz
px4-nuttx-a36af8c31efe4c7c1a72ffac987338493675173e.tar.bz2
px4-nuttx-a36af8c31efe4c7c1a72ffac987338493675173e.zip
Beginning of an Shenshou NxWM configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5186 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog2
-rw-r--r--nuttx/configs/shenzhou/nxwm/Make.defs168
-rwxr-xr-xnuttx/configs/shenzhou/nxwm/setenv.sh78
-rw-r--r--nuttx/configs/stm3220g-eval/dhcpd/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/nettest/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/nsh/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/nsh2/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/nxwm/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/ostest/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/telnetd/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/dhcpd/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/nettest/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/nsh/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/nsh2/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/nxconsole/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/nxwm/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/ostest/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/telnetd/defconfig2
-rw-r--r--nuttx/configs/stm3240g-eval/webserver/defconfig2
-rw-r--r--nuttx/configs/stm32f4discovery/nsh/defconfig2
-rw-r--r--nuttx/configs/stm32f4discovery/nxlines/defconfig2
-rw-r--r--nuttx/configs/stm32f4discovery/ostest/defconfig2
-rw-r--r--nuttx/graphics/Kconfig426
23 files changed, 693 insertions, 19 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index b7f1bc949..895f2844f 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3395,3 +3395,5 @@
STM32F4Discovery's FSMC-based LCD interface. The Shenzhou
will need a completely need bit-banging interface; this
initial check-in is only for the framework.
+ * configs/shenzhou/src/up_ssd1289.c: Bit-banging driver is
+ code complete. \ No newline at end of file
diff --git a/nuttx/configs/shenzhou/nxwm/Make.defs b/nuttx/configs/shenzhou/nxwm/Make.defs
new file mode 100644
index 000000000..0025282b4
--- /dev/null
+++ b/nuttx/configs/shenzhou/nxwm/Make.defs
@@ -0,0 +1,168 @@
+############################################################################
+# configs/shenzhou/nxwm/Make.defs
+#
+# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+############################################################################
+
+include ${TOPDIR}/.config
+include ${TOPDIR}/tools/Config.mk
+
+# Setup for the selected toolchain
+
+ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
+ # CodeSourcery under Windows
+ CROSSDEV = arm-none-eabi-
+ ARCROSSDEV = arm-none-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
+ # CodeSourcery under Linux
+ CROSSDEV = arm-none-eabi-
+ ARCROSSDEV = arm-none-eabi-
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+ MAXOPTIMIZATION = -O2
+endif
+ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
+ # Atollic toolchain under Windows
+ CROSSDEV = arm-atollic-eabi-
+ ARCROSSDEV =
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
+ # Atollic toolchain under Windows
+ CROSSDEV = arm-atollic-eabi-
+ ARCROSSDEV = arm-atollic-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_STM32_DEVKITARM),y)
+ # devkitARM under Windows
+ CROSSDEV = arm-eabi-
+ ARCROSSDEV = arm-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_STM32_RAISONANCE),y)
+ # Raisonance RIDE7 under Windows
+ CROSSDEV = arm-none-eabi-
+ ARCROSSDEV = arm-none-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_STM32_BUILDROOT),y)
+ # NuttX buildroot under Linux or Cygwin
+ CROSSDEV = arm-elf-
+ ARCROSSDEV = arm-elf-
+ ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
+ MAXOPTIMIZATION = -Os
+endif
+
+# Pick the linker script
+
+ifeq ($(CONFIG_STM32_DFU),y)
+ LDSCRIPT = ld.script.dfu
+else
+ LDSCRIPT = ld.script
+endif
+
+ifeq ($(WINTOOL),y)
+ # Windows-native toolchains
+ DIRLINK = $(TOPDIR)/tools/winlink.sh
+ DIRUNLINK = $(TOPDIR)/tools/unlink.sh
+ MKDEP = $(TOPDIR)/tools/mknulldeps.sh
+ ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
+ ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)}"
+ MAXOPTIMIZATION = -O2
+else
+ # Linux/Cygwin-native toolchain
+ MKDEP = $(TOPDIR)/tools/mkdeps.sh
+ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
+ ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)
+endif
+
+CC = $(CROSSDEV)gcc
+CXX = $(CROSSDEV)g++
+CPP = $(CROSSDEV)gcc -E
+LD = $(CROSSDEV)ld
+AR = $(ARCROSSDEV)ar rcs
+NM = $(ARCROSSDEV)nm
+OBJCOPY = $(CROSSDEV)objcopy
+OBJDUMP = $(CROSSDEV)objdump
+
+ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
+ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
+
+ifeq ("${CONFIG_DEBUG_SYMBOLS}","y")
+ ARCHOPTIMIZATION = -g
+else
+ ARCHOPTIMIZATION = $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
+endif
+
+ARCHCFLAGS = -fno-builtin
+ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fno-rtti
+ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
+ARCHWARNINGSXX = -Wall -Wshadow
+ARCHDEFINES =
+ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
+
+CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
+CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
+CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
+CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
+CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
+AFLAGS = $(CFLAGS) -D__ASSEMBLY__
+
+NXFLATLDFLAGS1 = -r -d -warn-common
+NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat.ld -no-check-sections
+LDNXFLATFLAGS = -e main -s 2048
+
+OBJEXT = .o
+LIBEXT = .a
+EXEEXT =
+
+ifneq ($(CROSSDEV),arm-elf-)
+ LDFLAGS += -nostartfiles -nodefaultlibs
+endif
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ LDFLAGS += -g
+endif
+
+
+HOSTCC = gcc
+HOSTINCLUDES = -I.
+HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
+HOSTLDFLAGS =
+
diff --git a/nuttx/configs/shenzhou/nxwm/setenv.sh b/nuttx/configs/shenzhou/nxwm/setenv.sh
new file mode 100755
index 000000000..7f00448a6
--- /dev/null
+++ b/nuttx/configs/shenzhou/nxwm/setenv.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+# configs/shenzhou/nxwm/setenv.sh
+#
+# Copyright (C) 2012 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+if [ "$_" = "$0" ] ; then
+ echo "You must source this script, not run it!" 1>&2
+ exit 1
+fi
+
+WD=`pwd`
+if [ ! -x "setenv.sh" ]; then
+ echo "This script must be executed from the top-level NuttX build directory"
+ exit 1
+fi
+
+if [ -z "${PATH_ORIG}" ]; then
+ export PATH_ORIG="${PATH}"
+fi
+
+# This the Cygwin path to the location where I installed the RIDE
+# toolchain under windows. You will also have to edit this if you install
+# the RIDE toolchain in any other location
+#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Raisonance/Ride/arm-gcc/bin"
+
+# This the Cygwin path to the location where I installed the CodeSourcery
+# toolchain under windows. You will also have to edit this if you install
+# the CodeSourcery toolchain in any other location
+export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
+
+# These are the Cygwin paths to the locations where I installed the Atollic
+# toolchain under windows. You will also have to edit this if you install
+# the Atollic toolchain in any other location. /usr/bin is added before
+# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
+# at those locations as well.
+#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
+#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin"
+
+# This the Cygwin path to the location where I build the buildroot
+# toolchain.
+#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
+
+# This is the path to the tools/ subdirectory
+export TOOLS_DIR="${WD}/configs/shenzhou/tools"
+
+# Add the path to the toolchain to the PATH variable
+export PATH="${TOOLCHAIN_BIN}:${TOOLS_DIR}:/sbin:/usr/sbin:${PATH_ORIG}"
+
+echo "PATH : ${PATH}"
diff --git a/nuttx/configs/stm3220g-eval/dhcpd/defconfig b/nuttx/configs/stm3220g-eval/dhcpd/defconfig
index 3958aa801..d011a3bfb 100644
--- a/nuttx/configs/stm3220g-eval/dhcpd/defconfig
+++ b/nuttx/configs/stm3220g-eval/dhcpd/defconfig
@@ -422,7 +422,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3220g-eval/nettest/defconfig b/nuttx/configs/stm3220g-eval/nettest/defconfig
index 0b19651cd..48a7982c2 100644
--- a/nuttx/configs/stm3220g-eval/nettest/defconfig
+++ b/nuttx/configs/stm3220g-eval/nettest/defconfig
@@ -422,7 +422,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3220g-eval/nsh/defconfig b/nuttx/configs/stm3220g-eval/nsh/defconfig
index c2cf20a5c..1f8cac1f1 100644
--- a/nuttx/configs/stm3220g-eval/nsh/defconfig
+++ b/nuttx/configs/stm3220g-eval/nsh/defconfig
@@ -473,7 +473,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3220g-eval/nsh2/defconfig b/nuttx/configs/stm3220g-eval/nsh2/defconfig
index de7e59bca..8462ef376 100644
--- a/nuttx/configs/stm3220g-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3220g-eval/nsh2/defconfig
@@ -472,7 +472,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3220g-eval/nxwm/defconfig b/nuttx/configs/stm3220g-eval/nxwm/defconfig
index 0182a15d6..7b7028cf8 100644
--- a/nuttx/configs/stm3220g-eval/nxwm/defconfig
+++ b/nuttx/configs/stm3220g-eval/nxwm/defconfig
@@ -474,7 +474,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3220g-eval/ostest/defconfig b/nuttx/configs/stm3220g-eval/ostest/defconfig
index 46e82d6e1..5fc04f03c 100644
--- a/nuttx/configs/stm3220g-eval/ostest/defconfig
+++ b/nuttx/configs/stm3220g-eval/ostest/defconfig
@@ -409,7 +409,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3220g-eval/telnetd/defconfig b/nuttx/configs/stm3220g-eval/telnetd/defconfig
index 823f455c1..e369a522e 100644
--- a/nuttx/configs/stm3220g-eval/telnetd/defconfig
+++ b/nuttx/configs/stm3220g-eval/telnetd/defconfig
@@ -422,7 +422,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/dhcpd/defconfig b/nuttx/configs/stm3240g-eval/dhcpd/defconfig
index 09bab66b9..842e0c66b 100644
--- a/nuttx/configs/stm3240g-eval/dhcpd/defconfig
+++ b/nuttx/configs/stm3240g-eval/dhcpd/defconfig
@@ -428,7 +428,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/nettest/defconfig b/nuttx/configs/stm3240g-eval/nettest/defconfig
index 2560310da..55ac14157 100644
--- a/nuttx/configs/stm3240g-eval/nettest/defconfig
+++ b/nuttx/configs/stm3240g-eval/nettest/defconfig
@@ -428,7 +428,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/nsh/defconfig b/nuttx/configs/stm3240g-eval/nsh/defconfig
index dad3b3854..80f5ec167 100644
--- a/nuttx/configs/stm3240g-eval/nsh/defconfig
+++ b/nuttx/configs/stm3240g-eval/nsh/defconfig
@@ -478,7 +478,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/nsh2/defconfig b/nuttx/configs/stm3240g-eval/nsh2/defconfig
index 86504cc83..9d2591068 100644
--- a/nuttx/configs/stm3240g-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3240g-eval/nsh2/defconfig
@@ -478,7 +478,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/nxconsole/defconfig b/nuttx/configs/stm3240g-eval/nxconsole/defconfig
index 70f7465b0..e7d27bd2e 100644
--- a/nuttx/configs/stm3240g-eval/nxconsole/defconfig
+++ b/nuttx/configs/stm3240g-eval/nxconsole/defconfig
@@ -477,7 +477,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/nxwm/defconfig b/nuttx/configs/stm3240g-eval/nxwm/defconfig
index ec98c273b..c90051b9b 100644
--- a/nuttx/configs/stm3240g-eval/nxwm/defconfig
+++ b/nuttx/configs/stm3240g-eval/nxwm/defconfig
@@ -479,7 +479,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/ostest/defconfig b/nuttx/configs/stm3240g-eval/ostest/defconfig
index 33bb63d5d..bfc576f5f 100644
--- a/nuttx/configs/stm3240g-eval/ostest/defconfig
+++ b/nuttx/configs/stm3240g-eval/ostest/defconfig
@@ -414,7 +414,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/telnetd/defconfig b/nuttx/configs/stm3240g-eval/telnetd/defconfig
index 5609f0d18..f138e5e6f 100644
--- a/nuttx/configs/stm3240g-eval/telnetd/defconfig
+++ b/nuttx/configs/stm3240g-eval/telnetd/defconfig
@@ -428,7 +428,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm3240g-eval/webserver/defconfig b/nuttx/configs/stm3240g-eval/webserver/defconfig
index 0bde916e4..25f1800b6 100644
--- a/nuttx/configs/stm3240g-eval/webserver/defconfig
+++ b/nuttx/configs/stm3240g-eval/webserver/defconfig
@@ -478,7 +478,7 @@ CONFIG_FTPD_CMDBUFFERSIZE=2048
CONFIG_RTC=y
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm32f4discovery/nsh/defconfig b/nuttx/configs/stm32f4discovery/nsh/defconfig
index a5c503591..38a0a1e03 100644
--- a/nuttx/configs/stm32f4discovery/nsh/defconfig
+++ b/nuttx/configs/stm32f4discovery/nsh/defconfig
@@ -442,7 +442,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm32f4discovery/nxlines/defconfig b/nuttx/configs/stm32f4discovery/nxlines/defconfig
index c6bd3f5df..bbdbf0fea 100644
--- a/nuttx/configs/stm32f4discovery/nxlines/defconfig
+++ b/nuttx/configs/stm32f4discovery/nxlines/defconfig
@@ -442,7 +442,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/configs/stm32f4discovery/ostest/defconfig b/nuttx/configs/stm32f4discovery/ostest/defconfig
index 39675a166..a10efe9ec 100644
--- a/nuttx/configs/stm32f4discovery/ostest/defconfig
+++ b/nuttx/configs/stm32f4discovery/ostest/defconfig
@@ -392,7 +392,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
CONFIG_RTC=n
CONFIG_RTC_DATETIME=y
CONFIG_RTC_HIRES=n
-CONFIG_RTC_FREQUENCY=n
+CONFIG_RTC_FREQUENCY=1
CONFIG_RTC_ALARM=n
#
diff --git a/nuttx/graphics/Kconfig b/nuttx/graphics/Kconfig
index ae2bf3130..8af3c2d1e 100644
--- a/nuttx/graphics/Kconfig
+++ b/nuttx/graphics/Kconfig
@@ -2,3 +2,429 @@
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
+
+config NX
+ bool "NX Graphics"
+ default n
+ ---help---
+ Enables overall support for graphics library and NX
+
+if NX
+
+config NX_NPLANES
+ int "Number of Color Planes"
+ default 1
+ ---help---
+ Some YUV color formats requires support for multiple planes, one for each
+ color component. Unless you have such special hardware, this value should be
+ undefined or set to 1.
+
+config NX_WRITEONLY
+ bool "Write-only Graphics Device"
+ default y if NX_LCDDRIVER && NX_LCDDRIVER
+ default n if !NX_LCDDRIVER || !NX_LCDDRIVER
+ ---help---
+ Define if the underlying graphics device does not support read operations.
+ Automatically defined if NX_LCDDRIVER and LCD_NOGETRUN are
+ defined.
+
+menu "Supported Pixel Depths"
+
+config NX_DISABLE_1BPP
+ bool "1 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 1BPP
+ pixel depth.
+
+config NX_DISABLE_2BPP
+ bool "2 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 2BPP
+ pixel depth.
+
+config NX_DISABLE_4BPP
+ bool "4 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 4BPP
+ pixel depth.
+
+config NX_DISABLE_8BPP
+ bool "8 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 8BPP
+ pixel depth.
+
+config NX_DISABLE_16BPP
+ bool "16 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 16BPP
+ pixel depth.
+
+config NX_DISABLE_24BPP
+ bool "24 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 24BPP
+ pixel depth.
+
+config NX_DISABLE_32BPP
+ bool "32 BPP"
+ default y
+ ---help---
+ NX supports a variety of pixel depths. You can save some memory by disabling
+ support for unused color depths. The selection disables support for 32BPP
+ pixel depth.
+
+endmenu
+
+config NX_PACKEDMSFIRST
+ bool "Packed MS First"
+ default y
+ depends on NX_DISABLE_1BPP || NX_DISABLE_2BPP || NX_DISABLE_4BPP
+ ---help---
+ If a pixel depth of less than 8-bits is used, then NX needs to know if the
+ pixels pack from the MS to LS or from LS to MS
+
+menu "Input Devices"
+
+config NX_MOUSE
+ bool "Mouse/Touchscreen Support"
+ default n
+ ---help---
+ Build in support for mouse or touchscreeninput.
+
+config NX_KBD
+ bool "Keyboard Support"
+ default n
+ ---help---
+ Build in support of keypad/keyboard input.
+
+endmenu
+
+menu "Framed Window Borders"
+
+config NXTK_BORDERWIDTH
+ int "Border Width"
+ default 4
+ ---help---
+ Specifies with with of the border (in pixels) used with framed windows.
+ The default is 4.
+
+config NXTK_BORDERCOLOR1
+ hex "Border Color"
+ default 0
+ ---help--
+ Specify the colors of the border used with framed windows.
+ NXTL_BODERCOLOR is the "normal" color of the border.
+ NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker.
+ NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter.
+
+config NXTK_BORDERCOLOR2
+ hex "Darker Border Color"
+ default 0
+ ---help--
+ Specify the colors of the border used with framed windows.
+ NXTL_BODERCOLOR is the "normal" color of the border.
+ NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker.
+ NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter.
+
+config NXTK_BORDERCOLOR3
+ hex "Brighter Border Color"
+ default 0
+ ---help--
+ Specify the colors of the border used with framed windows.
+ NXTL_BODERCOLOR is the "normal" color of the border.
+ NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker.
+ NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter.
+
+endmenu
+
+config NXTK_AUTORAISE
+ bool "Autoraise"
+ default n
+ ---help---
+ If set, a window will be raised to the top if the mouse position is over a
+ visible portion of the window. Default: A mouse button must be clicked over
+ a visible portion of the window.
+
+menu "Font Selections"
+
+config NXFONTS_CHARBITS
+ int "Bits in Character Set"
+ default 7
+ range 7 8
+ ---help--
+ The number of bits in the character set. Current options are only 7 and 8.
+ The default is 7.
+
+config NXFONT_SANS17X22
+ bool "Sans 17x22"
+ default n
+ ---help---
+ This option enables support for a tiny, 17x22 san serif font
+ (font ID FONTID_SANS17X22 == 14).
+
+config NXFONT_SANS20X26
+ bool "Sans 20x26"
+ default n
+ ---help---
+ This option enables support for a tiny, 20x26 san serif font
+ (font ID FONTID_SANS20X26 == 15).
+
+config NXFONT_SANS23X27
+ bool "Sans 23x27"
+ default n
+ ---help---
+ This option enables support for a tiny, 23x27 san serif font
+ (font ID FONTID_SANS23X27 == 1).
+
+config NXFONT_SANS22X29
+ bool "Sans 22x29"
+ default n
+ ---help---
+ This option enables support for a small, 22x29 san serif font
+ (font ID FONTID_SANS22X29 == 2).
+
+config NXFONT_SANS28X37
+ bool "Sans 28x37"
+ default n
+ ---help---
+ This option enables support for a medium, 28x37 san serif font
+ (font ID FONTID_SANS28X37 == 3).
+
+config NXFONT_SANS39X48
+ bool "Sans 39x48"
+ default n
+ ---help---
+ This option enables support for a large, 39x48 san serif font
+ (font ID FONTID_SANS39X48 == 4).
+
+config NXFONT_SANS17X23B
+ bool "Sans 17x23 Bold"
+ default n
+ ---help---
+ This option enables support for a tiny, 17x23 san serif bold font
+ (font ID FONTID_SANS17X23B == 16).
+
+config NXFONT_SANS20X27B
+ bool "Sans 20x27 Bold"
+ default n
+ ---help---
+ This option enables support for a tiny, 20x27 san serif bold font
+ (font ID FONTID_SANS20X27B == 17).
+
+config NXFONT_SANS22X29B
+ bool "Sans 22x29 Bold"
+ default n
+ ---help---
+ This option enables support for a small, 22x29 san serif bold font
+ (font ID FONTID_SANS22X29B == 5).
+
+config NXFONT_SANS28X37B
+ bool "Sans 28x37 Bold"
+ default n
+ ---help---
+ This option enables support for a medium, 28x37 san serif bold font
+ (font ID FONTID_SANS28X37B == 6).
+
+config NXFONT_SANS40X49B
+ bool "Sans 40x49 Bold"
+ default n
+ ---help---
+ This option enables support for a large, 40x49 san serif bold font
+ (font ID FONTID_SANS40X49B == 7).
+
+config NXFONT_SERIF22X29
+ bool "Serif 22x29"
+ default n
+ ---help---
+ This option enables support for a small, 22x29 font (with serifs)
+ (font ID FONTID_SERIF22X29 == 8).
+
+config NXFONT_SERIF29X37
+ bool "Serif 29x37"
+ default n
+ ---help---
+ This option enables support for a medium, 29x37 font (with serifs)
+ (font ID FONTID_SERIF29X37 == 9).
+
+config NXFONT_SERIF38X48
+ bool "Serif 38x48"
+ default n
+ ---help---
+ This option enables support for a large, 38x48 font (with serifs)
+ (font ID FONTID_SERIF38X48 == 10).
+
+config NXFONT_SERIF22X28B
+ bool "Serif 22x28 Bold"
+ default n
+ ---help---
+ This option enables support for a small, 27x38 bold font (with serifs)
+ (font ID FONTID_SERIF22X28B == 11).
+
+config NXFONT_SERIF27X38B
+ bool "Serif 27x38 Bold"
+ default n
+ ---help---
+ This option enables support for a medium, 27x38 bold font (with serifs)
+ (font ID FONTID_SERIF27X38B == 12).
+
+config NXFONT_SERIF38X49B
+ bool "Serif 38x49 Bold"
+ default n
+ ---help---
+ This option enables support for a large, 38x49 bold font (with serifs)
+ (font ID FONTID_SERIF38X49B == 13).
+
+endmenu
+
+menuconfig NXCONSOLE
+ bool "NxConsole"
+ default n
+ ---help---
+ Enables building of the NxConsole driver.
+
+if NXCONSOLE
+
+comment "NxConsole Output Text/Graphics Options"
+
+config NXCONSOLE_BPP
+ int "NxConsole BPP"
+ default 1 if !NX_DISABLE_1BPP
+ default 2 if !NX_DISABLE_2BPP
+ default 4 if !NX_DISABLE_4BPP
+ default 8 if !NX_DISABLE_8BPP
+ default 16 if !NX_DISABLE_16BPP
+ default 24 if !NX_DISABLE_24BPP
+ default 32 if !NX_DISABLE_32BPP
+ ---help---
+ Currently, NxConsole supports only a single pixel depth. This
+ configuration setting must be provided to support that single pixel depth.
+ Default: The smallest enabled pixel depth. (see NX_DISABLE_*BPP)
+
+config NXCONSOLE_CURSORCHAR
+ int "Character code to use as the cursor"
+ default 137
+ ---help---
+ The bitmap code to use as the cursor. Default '_' (137)
+
+config NXCONSOLE_MXCHARS
+ int "Max Characters on Display"
+ default 128
+ ---help---
+ NxConsole needs to remember every character written to the console so
+ that it can redraw the window. This setting determines the size of some
+ internal memory allocations used to hold the character data. Default: 128.
+
+config NXCONSOLE_CACHESIZE
+ int "Font Cache Size"
+ default 16
+ ---help---
+ NxConsole supports caching of rendered fonts. This font caching is required
+ for two reasons: (1) First, it improves text performance, but more
+ importantly (2) it preserves the font memory. Since the NX server runs on
+ a separate server thread, it requires that the rendered font memory persist
+ until the server has a chance to render the font. Unfortunately, the font
+ cache would be quite large if all fonts were saved. The NXCONSOLE_CACHESIZE
+ setting will control the size of the font cache (in number of glyphs). Only that
+ number of the most recently used glyphs will be retained. Default: 16.
+ NOTE: There can still be a race condition between the NxConsole driver and the
+ NX task. If you every see character corruption (especially when printing
+ a lot of data or scrolling), then increasing the value of NXCONSOLE_CACHESIZE
+ is something that you should try. Alternatively, you can reduce the size of
+ MQ_MAXMSGSIZE which will force NxConsole task to pace the server task.
+ NXCONSOLE_CACHESIZE should be larger than MQ_MAXMSGSIZE in any event.
+
+config NXCONSOLE_LINESEPARATION
+ int "Line Separation
+ default 0
+ ---help---
+ This the space (in rows) between each row of test. Default: 0
+
+config NXCONSOLE_NOWRAP
+ bool "No wrap"
+ default n
+ ---help---
+ By default, lines will wrap when the test reaches the right hand side
+ of the window. This setting can be defining to change this behavior so
+ that the text is simply truncated until a new line is encountered.
+
+commont "NxConsole Input options"
+
+config NXCONSOLE_NXKBDIN
+ bool "NX KBD input"
+ default n
+ ---help---
+ Take input from the NX keyboard input callback. By default, keyboard
+ input is taken from stdin (/dev/console). If this option is set, then
+ the interface nxcon_kdbin() is enabled. That interface may be driven
+ by window callback functions so that keyboard input *only* goes to the
+ top window.
+
+config NXCONSOLE_KBDBUFSIZE
+ int "Keyboard Input Buffer Size"
+ default 16
+ ---help---
+ If NXCONSOLE_NXKBDIN is enabled, then this value may be used to
+ define the size of the per-window keyboard input buffer. Default: 16
+
+config NXCONSOLE_NPOLLWAITERS
+ int "Number of Poll Waiters"
+ default 4
+ ---help---
+ The number of threads that can be waiting for read data available.
+ Default: 4
+
+endif
+endmenu
+
+menu "NX Multi-user only options"
+
+config NX_MULTIUSER
+ bool "Multi-user NX Server"
+ default n
+ ---help---
+ Configures NX in multi-user mode
+
+if NX_MULTIUSER
+
+config NX_BLOCKING
+ bool "Blocking"
+ default n
+ ---help---
+ Open the client message queues in blocking mode. In this case,
+ nx_eventhandler() will not return until a message is received and processed.
+
+config NX_MXSERVERMSGS
+ int "Max Server Messages"
+ default 32
+ ---help---
+ Specifies the maximum number of messages that can fit in the message queues.
+ No additional resources are allocated, but this can be set to prevent
+ flooding of the client or server with too many messages (PREALLOC_MQ_MSGS
+ controls how many messages are pre-allocated).
+
+config NX_MXCLIENTMSGS
+ int "Max Client Messages"
+ default 16
+ ---help---
+ Specifies the maximum number of messages that can fit in the message queues.
+ No additional resources are allocated, but this can be set to prevent
+ flooding of the client or server with too many messages (PREALLOC_MQ_MSGS
+ controls how many messages are pre-allocated).
+
+endif
+endmenu
+
+endif