Hello All, Just a quick note to say that I've updated my EPIA howto to include a little section for the brave on enabling the onboard VGA.
This is based on Sone Takeshi's work.
Thanks to Andrew Ip for committing the update to CVS.
Regards Mark.
On Fri, Jul 18, 2003 at 01:29:48AM +0100, Mark Wilkinson wrote:
Just a quick note to say that I've updated my EPIA howto to include a little section for the brave on enabling the onboard VGA.
This is based on Sone Takeshi's work.
Thanks to Andrew Ip for committing the update to CVS.
Hi Mark, Thank you for your work.
Perhaps everyone already forgets about it, but I was asked by Ron for a HOWTO on EPIA+VGA. I started it, but it isn't finished. (I was fiddling with BOOT_IDE etc to include in my documentation...) Now that your HOWTO covers VGA, everything is OK.
Some points...
- Line 37-40: NOTE: At present, the epia can be booted with a serial console. Power management to turn off the power is not available, neither is the video bios. Memeory is currenly hard coded to report 64M - you must have at least this much memory.
You can use video console once VGA is enabled (option VIDEO_CONSOLE=1). It isn't very useful however, since VGA initialization is almost at the end of LinuxBIOS execution. Memory configuration is also fixed already.
- Line 364-367: 0 - Disable Framebuffer 1 - 1 Mbyte 2 - 2 Mbytes 8 - 8 Mbytes
This is incorrect. Valid values are 2, 4, and 8 (MB). To disable framebuffer, remove the option HAVE_FRAMEBUFFER.
Also, now I use folowing lines in the config for the VGA BIOS image to be patched in the romimage: option ZKERNEL_START=0xfffc0000 option VGABIOS_START=0xfffe0000 addaction romimage dd if=/path/to/vgabios.bin of=romimage bs=65536 \ seek=2 conv=sync conv=notrunc This way you don't have to handcraft the vga+eb payload.
-- Takeshi
Hi Sone,
Thanks for the comments, looks like an update to the update will be on it's way shortly !
On Friday 18 Jul 2003 05:56, SONE Takeshi wrote:
On Fri, Jul 18, 2003 at 01:29:48AM +0100, Mark Wilkinson wrote:
Just a quick note to say that I've updated my EPIA howto to include a little section for the brave on enabling the onboard VGA.
This is based on Sone Takeshi's work.
Thanks to Andrew Ip for committing the update to CVS.
Hi Mark, Thank you for your work.
Perhaps everyone already forgets about it, but I was asked by Ron for a HOWTO on EPIA+VGA. I started it, but it isn't finished. (I was fiddling with BOOT_IDE etc to include in my documentation...) Now that your HOWTO covers VGA, everything is OK.
Some points...
- Line 37-40: NOTE: At present, the epia can be booted with a serial console. Power management to turn off the power is not available, neither is the video bios. Memeory is currenly hard coded to report 64M - you must have at least this much memory.
You can use video console once VGA is enabled (option VIDEO_CONSOLE=1). It isn't very useful however, since VGA initialization is almost at the end of LinuxBIOS execution. Memory configuration is also fixed already.
Oops, forgot all about the memory configuration being fixed, and I haven't had a chance to play with the VIDEO_CONSOLE=1 option yet (old story about not being enough hours in the day... :-)
- Line 364-367: 0 - Disable Framebuffer 1 - 1 Mbyte 2 - 2 Mbytes 8 - 8 Mbytes
This is incorrect. Valid values are 2, 4, and 8 (MB). To disable framebuffer, remove the option HAVE_FRAMEBUFFER.
Will correct that, although what I can remember from the northbridge docs is that a setting of 0 also disables the framebuffer - perhaps this option is really a 'have framebuffer, but don't share with it memory option'
Also, now I use folowing lines in the config for the VGA BIOS image to be patched in the romimage: option ZKERNEL_START=0xfffc0000 option VGABIOS_START=0xfffe0000 addaction romimage dd if=/path/to/vgabios.bin of=romimage bs=65536 \ seek=2 conv=sync conv=notrunc This way you don't have to handcraft the vga+eb payload.
so this copies the vgabios into the rom image after the payload (not the otherway around) doesn't copying 65536 bytes to 0xfffe000 overwrite the Linuxbios part of the rom image ? or is that done afterwards, in which case the LinuxBIOS would overwrite part of the vgabios image... althought, I think the VGA bios is only 48K in size isn't it !
I'll have to try this, just to get my head around what's happening !
Regards Mark.
On Fri, Jul 18, 2003 at 07:20:22AM +0100, Mark Wilkinson wrote:
Will correct that, although what I can remember from the northbridge docs is that a setting of 0 also disables the framebuffer - perhaps this option is really a 'have framebuffer, but don't share with it memory option'
vgainit.inc has #if's to examine the value to choose the value for the northbridge register, it cause #error if it's 0.
option ZKERNEL_START=0xfffc0000 option VGABIOS_START=0xfffe0000 addaction romimage dd if=/path/to/vgabios.bin of=romimage bs=65536 \
seek=2 conv=sync conv=notrunc
so this copies the vgabios into the rom image after the payload (not the otherway around) doesn't copying 65536 bytes to 0xfffe000 overwrite the Linuxbios part of the rom image ? or is that done afterwards, in which case the LinuxBIOS would overwrite part of the vgabios image... althought, I think the VGA bios is only 48K in size isn't it !
It copies vgabios.bin at 128-192KB of romimage. LinuxBIOS lives at 192-256KB. 128KB space at the beginning is left for payload.
suggestion: next week the config tool should be basically done for freebios2. You folks cold look at converting DRAM code to C and porting the EPIA code to freebios2. It is about 100 times easier to code this stuff up in C.
ron
On Fri, Jul 18, 2003 at 08:08:24AM -0600, ron minnich wrote:
suggestion: next week the config tool should be basically done for freebios2. You folks cold look at converting DRAM code to C and porting the EPIA code to freebios2. It is about 100 times easier to code this stuff up in C.
My raminit code does not use SPD. It does "probe" instead. (I first saw this method in NetBSD BIOS) In C, SPD stuff should easily be done, but I'm not very excited to adapt it to EPIA since I'm quite happy with current probing code.
Probing is implemented with fewer assembly code (and some in C), but has disadvantage that it can't detect timing parameters (PC100/133, CL2/CL3) at runtime. Still it should be done in C 10 times easier though.
-- Takeshi