summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lpc17xx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-27 00:03:25 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-27 00:03:25 +0000
commit5ee86601a172384191c3ea92d72785711c7cc201 (patch)
tree6e33b0a28fa60847df651760f7fa97afe6c15e48 /nuttx/arch/arm/src/lpc17xx
parent68cd11bf2a8f0f37e733572ce2bad747c3ee81b3 (diff)
downloadpx4-nuttx-5ee86601a172384191c3ea92d72785711c7cc201.tar.gz
px4-nuttx-5ee86601a172384191c3ea92d72785711c7cc201.tar.bz2
px4-nuttx-5ee86601a172384191c3ea92d72785711c7cc201.zip
Add apps/system/ramtest. I will use this for the LPC1788 SDRAM bringup
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5791 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/lpc17xx')
-rw-r--r--nuttx/arch/arm/src/lpc17xx/Kconfig11
-rw-r--r--nuttx/arch/arm/src/lpc17xx/lpc17_lcd.c24
2 files changed, 35 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lpc17xx/Kconfig b/nuttx/arch/arm/src/lpc17xx/Kconfig
index 82b830a14..923964dad 100644
--- a/nuttx/arch/arm/src/lpc17xx/Kconfig
+++ b/nuttx/arch/arm/src/lpc17xx/Kconfig
@@ -654,6 +654,14 @@ config LPC17_LCD_TFTPANEL
display panels require the digital color value of each pixel to be
applied to the display data inputs.
+config LPC17_LCD_MONOCHROME
+ bool "Monochrome LCD"
+ default n
+ depends on !LPC17_LCD_TFTPANEL
+ ---help---
+ STN LCD monochrome/color selection. Selects monochrome LCD. This
+ selection has no meaning for a TFT panel.
+
choice
prompt "Bits per pixel"
default LPC17_LCD_BPP24 if LPC17_LCD_TFTPANEL
@@ -673,6 +681,7 @@ config LPC17_LCD_BPP8
config LPC17_LCD_BPP16
bool "16 bit per pixel"
+ depends on !LPC17_LCD_MONOCHROME
config LPC17_LCD_BPP24
bool "24 bit per pixel"
@@ -680,9 +689,11 @@ config LPC17_LCD_BPP24
config LPC17_LCD_BPP16_565
bool "16 bpp, 5:6:5 mode"
+ depends on !LPC17_LCD_MONOCHROME
config LPC17_LCD_BPP12_444
bool "12 bpp, 4:4:4 mode"
+ depends on !LPC17_LCD_MONOCHROME
endchoice
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_lcd.c b/nuttx/arch/arm/src/lpc17xx/lpc17_lcd.c
index c10d8ade7..dccc10404 100644
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_lcd.c
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_lcd.c
@@ -563,6 +563,30 @@ int up_fbinitialize(void)
regval &= ~LCD_CTRL_BGR;
putreg32(regval, LPC17_LCD_CTRL);
+ /* Select monochrome or color LCD */
+
+#ifdef CONFIG_LPC17_LCD_MONOCHROME
+ /* Select monochrome LCD */
+
+ regval &= ~LCD_CTRL_BGR;
+ putreg32(regval, LPC17_LCD_CTRL);
+
+ /* Select 4- or 8-bit monochrome interface */
+
+#if LPC17_BPP > 4
+ regval |= LCD_CTRL_LCDMONO8;
+#else
+ regval &= ~LCD_CTRL_LCDMONO8;
+#endif
+ putreg32(regval, LPC17_LCD_CTRL);
+
+#else
+ /* Select color LCD */
+
+ regval &= ~(LCD_CTRL_LCDBW | LCD_CTRL_LCDMONO8);
+ putreg32(regval, LPC17_LCD_CTRL);
+#endif
+
/* Little endian byte order */
regval &= ~LCD_CTRL_BEBO;