<< Readme.txt for Silicon Motion, Inc. SM501 Linux kernel display driver >>
SM501 (Voyager/GX) kernel display driver on Linux kernel 2.4.20 on PC
=====================================================================
It requires another VGA compatible board to boot on PC since Voyager/GX does not come with a VGA BIOS.
Driver Configuration:
The kernel should be configured in order to use Voyager/GX frame buffer device driver. The following is the commands.
* Put voyager.c and voyager.h file under the linux/drivers/video
directory.
* In the linux/drivers/video directory, modify fbmem.c file refer to fbmem.2.4 file.
Add
extern int sm501fb_init(void);
before the fb_drivers structure declared.
Add
#ifdef CONFIG_FB_SM501_KERNEL_2_4_X
/*
* Silicon Motion, Inc. SM501 (VOYAGER GX) frame buffer device.
*/
{ "sm501fb", sm501fb_init, NULL },
#endif
in the fb_drivers structure.
* Modify "Makefile" file in the same directory refer to Makefile.2.4 file.
Add
obj-$(CONFIG_FB_SM501_KERNEL_2_4_X) += voyager.o
obj-$(CONFIG_FB_SM501_KERNEL_2_4_X) += smi2d.o
in the region which declares drivers.
* Modify "Config.in" file in the same directory.
Add
bool ' Silicon Motion, Inc. SM501 graphics console' CONFIG_FB_SM501_KERNEL_2_4_X
* Configure the kernel using the make xconfig command:
make xconfig
go into "Character devices"
turn on "Virtual Terminal" and "Support for console on virtual terminal"
go into "Console drivers"
then clik "Frame-buffer support" button
turn on "Support for frame buffer devices (EXPERIMENTAL)"
"Silicon Motion, Inc. VOYAGER graphics console"
"Virtual Frame Buffer support"
"Select compiled-in fonts"
"VGA 8x8 font"
* Build the kernel.
make depend
make clean
make bzImage
SM501 (Voyager/GX) kernel display driver on Linux kernel 2.6.4 on PC
====================================================================
It requires another VGA compatible board to boot on PC since Voyager/GX does not come with a VGA BIOS.
Configuration:
The kernel should be configured in order to use Voyager/GX frame buffer device driver. The following is the commands.
* Put voyager.c and voyager.h file under the linux/drivers/video
directory.
* In the linux/drivers/video directory, modify fbmem.c file refer to fbmem.2.6 file.
Add
extern int sm501fb_init(void);
before the fb_drivers structure declared.
Add
#ifdef CONFIG_FB_SM501_KERNEL_2_6_X
{ "sm501fb", sm501fb_init, NULL },
#endif
in the fb_drivers structure.
* Modify "Makefile" file in the same directory refer to Makefile.2.6 file.
Add
obj-$(CONFIG_FB_SM501_KERNEL_2_6_X) += voyager.o smi2d.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
in the region which declares drivers.
* Modify "Kconfig" file in the same directory.
Add
config FB_SM501_KERNEL_2_6_X
bool "Silicon Motion, Inc. SM501 support"
depends on FB
* Configure the kernel using the make menuconfig command:
make menuconfig
go into "Console drivers"
Select Device Drivers/Graphics support/Silicon Motion VoyagerGX 501 support
* Build the kernel.
make bzImage
Run the kernel with SM501 display driver
==========================================
* Config testing machine boot loader to use the new kernel just built.
* Change display mode (resolution and color depth)
Switching modes is done using the vga=... boot parameter. The table for the Kernel mode numbers are:
| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B
* Reboot testing machine, you will have a virtual terminal console on your LCD/CRT display.