Forum

Please consider registering
guest

Log In Register

Register | Lost password?
Advanced Search

— Forum Scope —

  

— Match —

   

— Forum Options —

   

Minimum search word length is 4 characters - maximum search word length is 84 characters

Topic RSS
How to connect VGA to PCI-E?
2014 年 10 月 22 日
12:31:22
roboard
Admin
Forum Posts: 135
Member Since:
2013 年 10 月 05 日
Offline
41

stevemork said
If you rebuild the BIOS, I would very much appreciate if you can make it avaliable for download again.

We will integrate these recent BIOS patches into the next version of SysImage; new SysImage will be released with 86Duino Coding 106 together after about 2~3 weeks. :)

2014 年 10 月 23 日
05:34:05
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline

stevemork said
86Duino SPI can spit out the pixels with 50MHz, this might be sufficient for 1024*768. May be few colors only or B/W, but this should merely be a debugging aid, not a full featured photo processing workstation Wink

Theoretically 50MHz... But this is max. pixel clock for 1bit color. Also you need to count hblank and vblank phasesthat inceases pixel clock with a dummy pixels. The problem is that for stable screein image you need precise timing. It was told, that vortex doesn't support DMA for SPI that makes it unreal because you cannot spit so much data in precise timing - other iterrupts, SMI, latencies occurs in random time and this would mess up the image.
What is real - connect some small LCD display via SPI that has it's own controller with framebuffer. I bought one on DealExtreme (320x240 with touch, 8b parallel / SPI). If it has framebuffer, then you don't need to deliver data at exact time, even you don't need periodic refresh of image, just redraw only on change. This is why VGA was created - to take off CPU load from main CPU...

2014 年 10 月 23 日
05:38:00
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline
43

We will integrate these recent BIOS patches into the next version of SysImage; new SysImage will be released with 86Duino Coding 106 together after about 2~3 weeks. :)

Pleaso commit patches to coreboot repo that if someone else check it out the sources they would be up to date.

2014 年 10 月 23 日
17:19:37
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline

Android_Lin said
The code of SeaBIOS USB part is not very strict to cause the compatible issues on EX USB controller, so we need to patch it.
Download the patch file: http://www.roboard.com/temp/pa.....b-init.txt
And then patch it by the below step:
  git checkout 5aef563
  git apply patch-seabios-usb-init.txt

HI, I don't know what I did wrong but after aplying patch (I checked that the line was added), recompiling and insertion crossbar and other images and flash it didn't boot anymore. No VGA active, neither boot from USB flashdisk. So it seems I will need desolder SPI chip...

2014 年 10 月 23 日
21:40:16
stevemork
Moderator
Forum Posts: 16
Member Since:
2014 年 09 月 26 日
Offline
45

roboard said
... obstacle in implementing soft-VGA ...

Roboard, thank you very much for your support and your detailed hints, warnings, and links. I will make a simple try soon, and then we will see if it is possible.

2014 年 10 月 23 日
22:00:08
stevemork
Moderator
Forum Posts: 16
Member Since:
2014 年 09 月 26 日
Offline
46

Glaux said
The problem is ...

I love the challenge Wink But thanks for your warnings anyway.
Just let's make a simple try ...

Glaux said
... connect some small LCD display via SPI ...

I've already done this. But for replacing VGA the resolution is too low.

Glaux said
... to take off CPU load from main CPU ...

CPU load is of no concern - it will be a debugging tool getting Windows or other applications run. After that it will be disabled.

2014 年 10 月 23 日
22:11:22
stevemork
Moderator
Forum Posts: 16
Member Since:
2014 年 09 月 26 日
Offline
47

Glaux said
… connect some small LCD display via SPI …

By the way, we could also connect a cheap USB-to-VGA converter. But for that we need a working Windows image (with remote desktop or something like that) first. But we don't have one ...

2014 年 10 月 26 日
11:23:25
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline
48

Hi,
after some messing with 1,8V level translator I was finally able to reprogram the SPI flash and recover my 86duino.
I repeated all steps of coreboot and seabios building from scratch set to your specific version (branch) with patching and I bricked it again.
I located that the problem is in seabios part of firmware. I'm unable to rebuild working version 5aef563.
If I use your seabios binary image it works. But if I rebuild it with your provided .config it bricks the system. I wonder that your seabios binary is about 86kB but mine is 127kB.
Here is my seabios build: http://www52.zippyshare.com/v/...../file.html - you can check it out. It was compiled before aplying the USB patch. If I compile seabios latest GIT version and use the same .config file I got similar size to yours ~80-90kB and it partially works - it boots fine but I cannot acces the SPI flash drive A: (error reading disk, abort/ignore/retry...) I don't use A: rather I boot from SD so I didn't found this problem before. Crossbar and bootorder files are still the same (I wrote build script to put all things in)...

One positive thing is that I found the USB keyboard is working even without your patch. It must be connected at power on, if connected later it's not recognized, that's OK... It works with your binary seabios and with my latest build too. Please check what cause conflict with flash drive A:
The desoldering-programming-soldering process is quite time consuming and I belive you have better devel. tools to debug the problem. I want to be able to rebuild working seabios myself.

BTW is there some simple way how to detect if USB keyboard is attached? I'd like to have automatic redirection to COM2 when KBD is not present. I tried some trick with sending KBD echo command to port 60h but I didn't get EEh reply and result was same regardless if KBD attached (FEh). Also bit4 at address 0:0496h is still set. Status byte at port 64h is still 50h.

2014 年 10 月 28 日
21:05:48
roboard
Admin
Forum Posts: 135
Member Since:
2013 年 10 月 05 日
Offline
49

Hi Glaux,
I have informed the BIOS engineer to debug your issues and need some time to wait his reply. The content of the SPI flash can actually be accessed directly using Flash SPI registers, which are described in pp.257-260 of the Vortex86EX datasheet. In 86Duino's EEPROM library, there are example codes to the direct access of the SPI flash: https://github.com/roboard/86Duino/blob/master/hardware/86duino/x86/libraries/EEPROM/SPIFlash.cpp

A way to detect if USB keyboard is attached is to write a DOS USB keyboard driver and detect USB keyboard in USB Host Controller ISR. The USB Host Controller registers are described in pp.399-452, chapter 12 of the Vortex86EX datasheet. It seems that SeaBIOS doesn't use the interrupt of USB Host Controller, only initializes the USB host at boot and pools the USB keyboard data in the 8254 IRQ-0 ISR; so USB keyboard hotplug isn't supported in SeaBIOS.

2014 年 10 月 29 日
21:34:32
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline

Hi,
I don't need SPI flash direct access. I just have a problem, that if I compile seabios from current version from GIT I cannot access drive A: from DOS. When I use your binary module provided before it works. I just need working recipe to compile working seabios.

About keyboard. I don't need hotplug detection. I just wanted to add it in my autoexec.bat. Currently I solved the problem rather by detecting VGA presence, that is more easy. As keyboard and screen is linked together when use CTTY command it doesn't make sense to use real console if VGA or KBD is missing. So I test VGA and if not present I do CTTY COM2. I just hoped, there is some bios service or simple I/O transaction that returns me if KBD is present I don't want to mess with whole USB just for this small trick.

2014 年 11 月 05 日
18:19:36
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline
51

Is there something new on recompiling non-bricking Seabios?

2014 年 11 月 11 日
23:21:55
roboard
Admin
Forum Posts: 135
Member Since:
2013 年 10 月 05 日
Offline

Hi Glaux,
I just return from a hiking vacation:-) The BIOS engineer replied that your SeaBIOS build flow is correct and that he realizes the flash floppy feature using a option ROM bought from other external source. SeaBIOS itself has no flash floppy support. For the USB keyboard detection issue, he feels that may need large-modifying the SeaBIOS's codes, and considering he doesn't quite understand the USB-host-related codes of SeaBIOS, time is needed for him to study the USB part.

2014 年 11 月 27 日
03:11:47
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline
53

Hi roboard,
I like hiking too (and a little bit of climbing :)
Please let your BIOS engineer to know that it would be good to place your sources on a free GIT repository including all specific patches even if for some reason couldn't be merged with main tree yet. It would save a lot of effort (well, the bright side is that I have a tool for prog. 1,8V flashes now but desoldering process is not much frenly. I know there exists some SO8 ZIF sockets but expansive like the CPU module itself :o). For me this was one of important reason why I bought 86duino because it claims to be fully opensource so I'd like to be able to rebuild the complete FW. Also here was a local meeting and talk on Czech Technical University on monday with Coreboot developer Rudolf Marek and he also kindly suggest that according to GPL the full sources should be available.
As for USB keyboard I don't need any heavy changes. I was just thinking about some bitflag in BIOS configuration block memory area at 40:xx that would simply signalize if a keyboard was initialized at boot. But I don't mind so much I overcome it by detection of VGA presence.

2014 年 11 月 27 日
21:03:26
roboard
Admin
Forum Posts: 135
Member Since:
2013 年 10 月 05 日
Offline
54

Hi Glaux,
I agree with your good suggestion, and the BIOS engineer has been informed to prepare a github page for patched BIOS and related files (cross-bar table/tool, building flow, ...). I will post that github link later when getting it ready.

2014 年 11 月 27 日
22:51:19
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline
55

Than you.
BTW does the latest BIOS binary build contains other patches than videobios mapping fix?

2014 年 12 月 01 日
17:02:37
roboard
Admin
Forum Posts: 135
Member Since:
2013 年 10 月 05 日
Offline
56

Glaux said
BTW does the latest BIOS binary build contains other patches than videobios mapping fix?

BIOS in SysImage 20141103 only adds a patch for videobios mapping fix in contrast with SysImage 20140918. Other patches would be added later after verified.

2014 年 12 月 08 日
00:00:26
Glaux
Moderator
Forum Posts: 70
Member Since:
2013 年 10 月 11 日
Offline
57

OK, and what further patches will be available? I'm forward on the release.

2015 年 01 月 20 日
01:41:52
recycled-air
Moderator
Forum Posts: 12
Member Since:
2014 年 04 月 20 日
Offline
58

Hi everyone, I was following this thread and am wondering, is there an adapter that allows the 86duino VGA card attach directly to the 86Duino Zero pci-e edge connector? I used one 86Duino VGA card on my 86Duino One board and it works great, just wondering, if with this new sys image, if the 86Duino VGA card could be used with the Zero board somehow?

2015 年 01 月 28 日
01:13:38
Android_Lin
Moderator
Forum Posts: 228
Member Since:
2014 年 04 月 01 日
Offline

Hi, recycled-air,
I tried to use a PCI-e to mini PCI-e adapter to connect 86Duino Zero with 86Duino VGA card, and the method as : http://www.roboard.com/Files/t.....onnect.bmp
In addition, we need to weld a wire to output PCIE RESET signal, the method as : http://www.roboard.com/Files/t....._reset.bmp
Finally, we can see the screen thought 86Duino VGA card: http://www.roboard.com/Files/t.....ect_ok.bmp

Then i will try to connect 86Duino Zero and 86Duino VGA card without PCI-e to mini PCI-e adapter. If success, will post here again.

Android_Lin

2015 年 01 月 30 日
12:02:07
Android_Lin
Moderator
Forum Posts: 228
Member Since:
2014 年 04 月 01 日
Offline

After a period of time to test, i successfully connected 86Duino mini-PCIE VGA card with 86Duino Zero and it worked :)
You can refer to following picture: http://www.roboard.com/Files/t.....no_VGA.bmp
Then we can see the DOS screen via 86Duino VGA card as following: http://www.roboard.com/Files/t.....A_test.bmp

Forum Timezone: Asia/Taipei

Most Users Ever Online: 229

Currently Online:
5 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Dinosaur: 27

leutenecker: 13

mrZagg: 10

hippy: 9

smeezekitty: 8

lukeross: 8

tomka: 8

Ekkehard: 8

UIdahoCIT: 8

blaxxun: 7

Member Stats:

Guest Posters: 0

Members: 1573

Moderators: 15

Admins: 5

Forum Stats:

Groups: 2

Forums: 11

Topics: 248

Posts: 1114

Newest Members: Dennissot, bb4000, Ovendaanalolymn, Ling ChengYU, EROGurnedo, Alfredhak, Davidherie, Nelsonbok, EugeneDut, RobertOwell

Moderators: Glaux: 70, uaa: 11, guigra: 17, asian55: 22, Android_Lin: 228, bcarroll: 12, cucubutter: 84, recycled-air: 12, stevemork: 16, zerozaber: 52, pongraczi: 26, jejump: 14, George Andrews III: 56, poto: 11, garpastym: 20

Administrators: eveshih: 1, anthony: 31, viky6: 0, roboard: 135, hcl: 1