mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 15:04:25 +07:00
0cad855fbd
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 <paul.burton@imgtec.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: David S. Miller <davem@davemloft.net> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/14062/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
132 lines
3.8 KiB
Plaintext
132 lines
3.8 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
# Auxiliary display drivers configuration.
|
|
#
|
|
|
|
menuconfig AUXDISPLAY
|
|
bool "Auxiliary Display support"
|
|
---help---
|
|
Say Y here to get to see options for auxiliary display drivers.
|
|
This option alone does not add any kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
if AUXDISPLAY
|
|
|
|
config KS0108
|
|
tristate "KS0108 LCD Controller"
|
|
depends on PARPORT_PC
|
|
default n
|
|
---help---
|
|
If you have a LCD controlled by one or more KS0108
|
|
controllers, say Y. You will need also another more specific
|
|
driver for your LCD.
|
|
|
|
Depends on Parallel Port support. If you say Y at
|
|
parport, you will be able to compile this as a module (M)
|
|
and built-in as well (Y).
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called ks0108.
|
|
|
|
If unsure, say N.
|
|
|
|
config KS0108_PORT
|
|
hex "Parallel port where the LCD is connected"
|
|
depends on KS0108
|
|
default 0x378
|
|
---help---
|
|
The address of the parallel port where the LCD is connected.
|
|
|
|
The first standard parallel port address is 0x378.
|
|
The second standard parallel port address is 0x278.
|
|
The third standard parallel port address is 0x3BC.
|
|
|
|
You can specify a different address if you need.
|
|
|
|
If you don't know what I'm talking about, load the parport module,
|
|
and execute "dmesg" or "cat /proc/ioports". You can see there how
|
|
many parallel ports are present and which address each one has.
|
|
|
|
Usually you only need to use 0x378.
|
|
|
|
If you compile this as a module, you can still override this
|
|
using the module parameters.
|
|
|
|
config KS0108_DELAY
|
|
int "Delay between each control writing (microseconds)"
|
|
depends on KS0108
|
|
default "2"
|
|
---help---
|
|
Amount of time the ks0108 should wait between each control write
|
|
to the parallel port.
|
|
|
|
If your LCD seems to miss random writings, increment this.
|
|
|
|
If you don't know what I'm talking about, ignore it.
|
|
|
|
If you compile this as a module, you can still override this
|
|
value using the module parameters.
|
|
|
|
config CFAG12864B
|
|
tristate "CFAG12864B LCD"
|
|
depends on X86
|
|
depends on FB
|
|
depends on KS0108
|
|
select FB_SYS_FILLRECT
|
|
select FB_SYS_COPYAREA
|
|
select FB_SYS_IMAGEBLIT
|
|
select FB_SYS_FOPS
|
|
default n
|
|
---help---
|
|
If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
|
|
say Y. You also need the ks0108 LCD Controller driver.
|
|
|
|
For help about how to wire your LCD to the parallel port,
|
|
check Documentation/auxdisplay/cfag12864b
|
|
|
|
Depends on the x86 arch and the framebuffer support.
|
|
|
|
The LCD framebuffer driver can be attached to a console.
|
|
It will work fine. However, you can't attach it to the fbdev driver
|
|
of the xorg server.
|
|
|
|
To compile this as a module, choose M here:
|
|
the modules will be called cfag12864b and cfag12864bfb.
|
|
|
|
If unsure, say N.
|
|
|
|
config CFAG12864B_RATE
|
|
int "Refresh rate (hertz)"
|
|
depends on CFAG12864B
|
|
default "20"
|
|
---help---
|
|
Refresh rate of the LCD.
|
|
|
|
As the LCD is not memory mapped, the driver has to make the work by
|
|
software. This means you should be careful setting this value higher.
|
|
If your CPUs are really slow or you feel the system is slowed down,
|
|
decrease the value.
|
|
|
|
Be careful modifying this value to a very high value:
|
|
You can freeze the computer, or the LCD maybe can't draw as fast as you
|
|
are requesting.
|
|
|
|
If you don't know what I'm talking about, ignore it.
|
|
|
|
If you compile this as a module, you can still override this
|
|
value using the module parameters.
|
|
|
|
config IMG_ASCII_LCD
|
|
tristate "Imagination Technologies ASCII LCD Display"
|
|
default y if MIPS_MALTA || MIPS_SEAD3
|
|
select SYSCON
|
|
help
|
|
Enable this to support the simple ASCII LCD displays found on
|
|
development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
|
|
from Imagination Technologies.
|
|
|
|
endif # AUXDISPLAY
|