vga: add ati bios tables
Needed to make drivers happy which try to gather
informations from these tables.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
diff --git a/vgasrc/ati-tables.S b/vgasrc/ati-tables.S
new file mode 100644
index 0000000..cdbde2f
--- /dev/null
+++ b/vgasrc/ati-tables.S
@@ -0,0 +1,43 @@
+//
+// Fake ati bios tables.
+//
+// aty128fb and radeonfb try to gather informations from these tables,
+// so add some stuff here to make the drivers happy. Specifically
+// radeonfb needs the pll information, otherwise it'll crash with a
+// division by zero ...
+//
+ .org 0x48
+ .word _ati_main
+
+ // main info
+ .org 0x50
+_ati_main:
+ .org 0x50 + 0x30
+ .word _ati_pll
+ .org 0x50 + 0x50
+ .word _ati_connector
+
+ // pll info
+ .org 0x100
+_ati_pll:
+ .word 0 // ??? (not used by radeonfb)
+ .word 0
+ .word 0
+ .word 0
+ .word 23000 // sclk
+ .word 23000 // mclk
+ .word 0
+ .word 2700 // ref_clk
+ .word 4 // ref_div
+ .long 12000 // ppll_min
+ .long 35000 // ppll_max
+
+ // connector info
+ .org 0x140
+_ati_connector:
+ .byte 0x10 // one chip
+ .byte 0x01 // one connector
+ .word 0x3000 // type DVI-I
+ .word 0 // end of list
+
+ .org 0x200
diff --git a/vgasrc/vgaentry.S b/vgasrc/vgaentry.S
index 53be2b3..f9624fc 100644
--- a/vgasrc/vgaentry.S
+++ b/vgasrc/vgaentry.S
@@ -40,6 +40,9 @@
_rom_header_signature:
.asciz "IBM"
+#if CONFIG_VGA_ATI
+#include "ati-tables.S"
+#endif
/****************************************************************
* Entry points