diff --git a/configs/sabre-6quad/README.txt b/configs/sabre-6quad/README.txt index 016d4cc6df6..122f28e8d46 100644 --- a/configs/sabre-6quad/README.txt +++ b/configs/sabre-6quad/README.txt @@ -555,7 +555,10 @@ Open Issues: PMD_SECT_DOM(0) | PMD_SECT_XN) #define MMU_STRONGLY_ORDERED (PMD_TYPE_SECT | PMD_SECT_AP_RW1 | \ -3. Assertions. On a fatal assertions, other CPUs need to be stopped. +3. Assertions. On a fatal assertions, other CPUs need to be stopped. The SCR, + however, only supports disabling CPUs 1 through 3. Perhaps if the assertion + occurs on CPUn, n > 0, then it should use and SGI to perform the assertion + on CPU0 always. From CPU0, CPU1-3 can be disabled. 4. Caching probabaly interferes with spinlocks as they are currently implemented. Waiting on a cached copy of the spinlock may result in a hang or a failure to diff --git a/drivers/Kconfig b/drivers/Kconfig index 75c162dbb8b..df45c0d1722 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -373,22 +373,7 @@ if IOEXPANDER source drivers/ioexpander/Kconfig endif # IOEXPANDER -menuconfig LCD - bool "LCD Driver Support" - default n - select NX_LCDDRIVER if NX - ---help--- - Drivers for parallel and serial LCD and OLED type devices. These - drivers support interfaces as defined in include/nuttx/lcd/lcd.h - - This selection is necessary to enable support for LCD drivers in - drivers/lcd as well as for board-specific LCD drivers in the configs/ - subdirectories. - -if LCD source drivers/lcd/Kconfig -endif # LCD - source drivers/leds/Kconfig menuconfig MMCSD diff --git a/drivers/lcd/Kconfig b/drivers/lcd/Kconfig index 7aba2f5452b..441e6fba261 100644 --- a/drivers/lcd/Kconfig +++ b/drivers/lcd/Kconfig @@ -3,7 +3,23 @@ # see the file kconfig-language.txt in the NuttX tools repository. # -comment "Common LCD Settings" +menu "LCD Driver Support" + +menuconfig LCD + bool "Graphic LCD Driver Support" + default n + select NX_LCDDRIVER if NX + ---help--- + Drivers for parallel and serial LCD and OLED type devices. These + drivers support interfaces as defined in include/nuttx/lcd/lcd.h + + This selection is necessary to enable support for LCD drivers in + drivers/lcd as well as for board-specific LCD drivers in the configs/ + subdirectories. + +if LCD + +comment "Common Graphipc LCD Settings" config LCD_CONSOLE bool "LCD console output" @@ -990,8 +1006,21 @@ config LCD_RA8875_EXTENDED driver anyway. endif # LCD_RA8875 +endif # LCD -comment "Alphanumeric/Segment LCD Devices" +menuconfig SLCD + bool "Alphanumeric/Segment LCD Devices" + default n + ---help--- + Drivers for Alphanumeric ans Segment LCDs (SLCDs). These + drivers support interfaces as defined in include/nuttx/lcd/slcd_ioctl.h + amd slcd_codec.h + + This selection is necessary to enable support for SLCD drivers in + drivers/lcd as well as for board-specific LCD drivers in the configs/ + subdirectories. + +if SLCD config LCD_LCD1602 bool "LCD 1602" @@ -1018,3 +1047,6 @@ config LCD_BACKPACK This driver supports known and unknown variants. See pcf8574_lcd_backpack_readme.txt + +endif # SLCD +endmenu # LCD Driver Support diff --git a/drivers/lcd/Make.defs b/drivers/lcd/Make.defs index fd9bdc4bc25..890e3bb9e59 100644 --- a/drivers/lcd/Make.defs +++ b/drivers/lcd/Make.defs @@ -37,7 +37,7 @@ ifeq ($(CONFIG_NX_LCDDRIVER),y) -# Include LCD drivers +# Include Graphics LCD drivers ifeq ($(CONFIG_LCD_P14201),y) CSRCS += p14201.c @@ -103,6 +103,22 @@ ifeq ($(CONFIG_LCD_RA8875),y) CSRCS += ra8875.c endif +# Include Alphanumeric/Segment LCD drivers too + +ifeq ($(CONFIG_LCD_BACKPACK),y) + CSRCS += pcf8574_lcd_backpack.c +endif + +# Include LCD driver build support + +DEPPATH += --dep-path lcd +VPATH += :lcd +CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)drivers$(DELIM)lcd} + +else ifeq ($(CONFIG_SLCD),y) + +# Include Alphanumeric/Segment LCD drivers only + ifeq ($(CONFIG_LCD_BACKPACK),y) CSRCS += pcf8574_lcd_backpack.c endif @@ -113,4 +129,3 @@ DEPPATH += --dep-path lcd VPATH += :lcd CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)drivers$(DELIM)lcd} endif -