Skip to content

Commit 0cad855

Browse files
paulburtonralfbaechle
authored andcommitted
auxdisplay: img-ascii-lcd: driver for simple ASCII LCD displays
Add a driver for simple ASCII LCD displays found on the MIPS Boston, Malta & SEAD3 development boards. The Boston display is an independent memory mapped device with a simple memory mapped 8 byte register space containing the 8 ASCII characters to display. The Malta display is exposed as part of the Malta board registers, and provides 8 registers each of which corresponds to one of the ASCII characters to display. The SEAD3 display is slightly more complex, exposing an interface to an S6A0069 LCD controller via registers provided by the boards CPLD. However although the displays differ in their register interface, we require similar functionality on each board so abstracting away the differences within a single driver allows us to share a significant amount of code & ensure consistent behaviour. The driver displays the Linux kernel version as the default message, but allows the message to be changed via a character device. Messages longer then the number of characters that the display can show will scroll. This provides different behaviour to the existing LCD display code for the MIPS Malta or MIPS SEAD3 platforms in the following ways: - The default string to display is not "LINUX ON MALTA" or "LINUX ON SEAD3" but "Linux" followed by the version number of the kernel (UTS_RELEASE). - Since that string tends to be significantly longer it scrolls twice as fast, moving every 500ms rather than every 1s. - The LCD won't be updated until the driver is probed, so it doesn't provide the early "LINUX" string. Signed-off-by: Paul Burton <[email protected]> Cc: Mauro Carvalho Chehab <[email protected]> Cc: Miguel Ojeda Sandonis <[email protected]> Cc: Guenter Roeck <[email protected]> Cc: David S. Miller <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Andrew Morton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/14062/ Signed-off-by: Ralf Baechle <[email protected]>
1 parent 8ef3ff2 commit 0cad855

File tree

4 files changed

+454
-0
lines changed

4 files changed

+454
-0
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5968,6 +5968,7 @@ IMGTEC ASCII LCD DRIVER
59685968
M: Paul Burton <[email protected]>
59695969
S: Maintained
59705970
F: Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt
5971+
F: drivers/auxdisplay/img-ascii-lcd.c
59715972

59725973
INA209 HARDWARE MONITOR DRIVER
59735974
M: Guenter Roeck <[email protected]>

drivers/auxdisplay/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,13 @@ config CFAG12864B_RATE
119119
If you compile this as a module, you can still override this
120120
value using the module parameters.
121121

122+
config IMG_ASCII_LCD
123+
tristate "Imagination Technologies ASCII LCD Display"
124+
default y if MIPS_MALTA || MIPS_SEAD3
125+
select SYSCON
126+
help
127+
Enable this to support the simple ASCII LCD displays found on
128+
development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
129+
from Imagination Technologies.
130+
122131
endif # AUXDISPLAY

drivers/auxdisplay/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44

55
obj-$(CONFIG_KS0108) += ks0108.o
66
obj-$(CONFIG_CFAG12864B) += cfag12864b.o cfag12864bfb.o
7+
obj-$(CONFIG_IMG_ASCII_LCD) += img-ascii-lcd.o

0 commit comments

Comments
 (0)