Hallo nochmal!
Ich habe diesen Thread hier mal eröffnet, weil der SMT-Thread bald
überläuft. Hier sollen nur die Erfahrungen mit dem TV-Ausgang gepostet
werden. Insbesondere mit dem Focus Chip.
Samsung SMT-7020s TV-Auflösung
- mase
- Geschlossen
-
-
Ich hab mit folgenden Einstellungen ein fast gutes Ergebnis:
fbmode:Codemode "800x600-focus" # D: 45.455 MHz, H: 38.037 kHz, V: 49,657 Hz geometry 800 600 800 600 32 timings 22000 135 124 55 27 136 84 accel true endmode
Folgende Register des Focus:Code
Alles anzeigen0xc4 0x9865 0x0c 0x2103 0x00 0x0054 0x02 0x000d 0x06 0x0000 0x0e 0x0000 0x10 0x00000000 0x14 0x00000000 0x18 0x5401 0x1a 0x007c 0x1c 0x0909 0x0c 0x2108
Besonders verbessernd war das Register 0x0e auf 0x0000 zu setzen.Ich habe mal versucht, nachdem ich das qpr auf 0x9865 gesetzt habe, wieder
zurück auf die Grundeinstellung 0x9841 zu gehen. Da war auch keine
Synchronisation mehr da. Nachdem ich o. g. Register geändert habe, war es
wieder fast komplett. War etwas abgeschnitten und grün, aber es war ein
stehendes Bild.
Ich denke, die Einstellungen sind allein im qpr und der pll zu machen.Aber die Einstellung, die Maniac rausgefunden hat, den RGB zu aktivieren,
hat auch eine erhebliche Verbesserung gebracht!Jetzt überlass ich euch das Wort!
Wir sind so nah dran! -
Ich raff's nicht!
Ich kann die Rechnungen auf S. 30/31 der Datasheet nicht nachvollziehen.
Da kommt z. B. für N=180 raus, dann steht da aber 0xb3. 180 ist aber 0xb4.
Genauso soll P=3 sein. Wie komm ich dann auf 0x202? -
Also ich habe wie bereits im anderen Thread beschrieben momentan auf einer Box 720x576er Auflösung, jedoch mit starken Kompressionsartefakten.Ich bin nach der Anleitung hier vorgegangen:
VDR auf der Samsung SMT-7020S
Morgen werd ich dazu noch den RGB Patch anwenden. Mal schaun,was dabei rauskommt.
Hier der Link zur Anleitung des RGB Patches:
http://vdr-portal.de/board/thr…tid=653421#post653421</a>mase: wie hast du deine Einstellung auf 800x600 umgestellt?
Gruß
DonUlfo -
-
euer grünstich ist sicherlich ein falsch gesetzer video ausgang nicht rgb sondern YVU das problem ist von der zenega / s100 schon bekannt.
ronja
-
donulfo
Ich hab einfach o. g. mode in /etc/fb.modes eingetragen, und mit fbset
eingestellt. In der xorg.conf natürlich 800x600 eintragen. Sicherheitshalber
habe ich dort alle weiteren Modes entfernt.Weiss jemand, wo bei Xebian der Focus eingestellt wird? Ich hab das
Image mit VirtualBox mal auf meinem Lappi installiert, und mal ein bisjen
gesucht. Aber ich kann da nix finden. Oder bin ich da auf dem falschen
Pfad? Wie wird das bei Xebian gemacht? -
Hab ich in dem anderen Thread auch schon gepostet.
Ich hab versucht, nachdem ich das qpr auf 0x9865 gesetzt habe, es wieder
auf 0x9841 zu setzen, um wieder in die Ausgangslage zu kommen. Damit allein
war es nicht getan. Dann hab ich die Register
10h (4 Byte)
14h (4 Byte)
18h (2 Byte)
1Ah (2 Byte)
1Ch (2 Byte)
auch in die Ausgangslage gesetzt. Dann war es fast wieder da. Es liegt also
hauptsächlich an den PLL-Werten. Doch wie gesagt, da steig ich noch nicht
so ganz durch. Auf jeden Fall ohne nco, also 10h und 14h auf 0x00000000.
Wenn ich das richtig verstanden habe, dann muss M auf jeden Fall 865 sein.
Doch wenn ich mir in der Datasheet die Beispiele angucke, und von Dezimal
auf Hex umrechne, komm ich auf ganz andere Werte. Ob das jetzt ein Rechen-
fehler in der Datasheet ist, oder ob sonst was dahintersteckt, weiss ich nicht.
Aber dort liegt der Hund begraben. Ich glaube sogar, dass das mit den exakten
50Hz nicht notwendig ist.
Dann ist mir noch aufgefallen, dass der Softreset beim beartbeiten des qpr
automatisch ausgeführt wird. Nur wenn noch weitere Register gesetzt werden,
muss er aktiviert werden. Ich setze also 0x0c auf 0x2103, dann geht mein Bild
weg. Dann bearbeite ich die anderen Register. Dann 0x0c auf 0x2108, es
erscheint wieder Bild mit den gewünschten Änderungen. -
Hallo Mase,
welchen Kernel benutzt du ?
Ich hab mir mal die gdl samples von intel zu Gemuete gefuehrt und hab mal mit gdb versucht ein paar der Innereien zu verstehen, und obwohl ich nicht viel erkennen konnte, war doch eines klar zu erkennen: Der Intel treiber benutzt nicht das I2C interface des Kernels.
Das brachte mich auf den 2. Punkt: der 2.6.17er Kernel den ich bisher benutzte hat einen Bug im I2C SMBUS Teil, der bei einem read-fehler bei einem Write-Command einen Bus-Stall verursacht.
Wenn wir also so vorgehen wollen wie Intel, dann muss die Initialisierung des Focus mit in den Kernel, damit wir auch direkt auf den I2C schreiben koennen, ohne die Treiber zu benutzen, oder das Tool braucht seinen eigenen I2C stub.
Prinzipiell denk ich, dass es ein leichtes sein sollte die fs454 teile des Freescale MCX Treibers in den Intel treiber zu verpflanzen, zumindest mal so, das das Umschalten einmal funktioniert.Gruss,
Giga
-
Hallo,
ich habe auf meine Box 720x576 am laufen. Jetzt habe ich noch den RGB Patch dazu draufgemacht. Und es läuftfast ohne Probleme... das einzige Problem, dass bei mir auftritt, ist dass bei z.B. Fussball schlieren zu sehen sind. Also sowas wie Schattenlinien bei schnellen Bewegungen. Sonst, von der Quali her ist es top, meine ich.
Habt ihr ne Idee, woher die Schlieren kommen können ?giga-san: Das hört sich schonmal sehr vielversprechend an, wenn es ein "leichtes" ist die Treiber einzupflanzen. Ich finde deine Distri echt klasse. Vielen Dank für deine Mühe.
Gruß
DonUlfo
-
RGB mit IEGD-Workaround hab ich jetzt auch am laufen. Es war kein Grünstich, das sah nur so aus, in Wirklichkeit hat Blau komplett gefehlt. Der IEGD hatte DAC C komplett abgeschaltet.
Vorgehensweise RGB und IEGD-Workaround um eine 720x576er Auflösung mit RGB ohne erhöhte CPU Last zu nutzen:
- X mit einer 720x576er Auflösung und IEGD starten
- X mit "killall -9 X" killen, das -9 dabei ist wichtig, da X sonst, wenn es sauber beendet, die IEGD Konfig wieder rückgängig macht
- xorg.conf austauschen gegen eine ohne IEGD mit 720x576er Auflösung
- X starten
- Auf dem TV sollte jetzt ein Bild mit 720x576 ohne RGB zu sehen sein
- Auf der Konsole "modprobe i2c-dev" eingeben
- Focus Register CR auf 0x2111 setzen
- Focus Register DAC_CNTL auf 0x00e4 setzen
- Focus Register PWR_MGNT auf 0x0200 setzen
- Focus Register VID_CNTL0 auf 0x0b01 setzen
- Focus Register CR auf 0x2110 setzen
- STV Register 0x03 auf 0xf6 setzenJetzt sollte am TV ein Bild mit einer 720x576er Auflösung in RGB ohne IEGD zu sehen sein.
Der letzte Schritt der jetzt noch fehlt, wäre das ganze ohne kurzen Start des IEGD hinzubekommen.
Dazu vermute ich, das der IEGD noch irgendwo ausserhalb des Focus irgendetwas ändert was uns bis jetzt entgangen ist. -
und wie sieht es bei dir mit Schlieren aus, bei schnellen Bewegungen ?
Also ich habe nur den IEGD mit 720x576 am laufen, und dann einfach den RGB_patch draufgelassen, und ich habe auch RGB und 720x576, jedoch leider noch mit Schlieren....Jedoch ist mir aufgefallen, dass ich den RGB Patch auch jedesmal neu starten muss, dass RGB erscheint...
-
Schlieren konnte ich bis jetzt nicht feststellen.
Der IEGD wollte sich bei mir nicht direkt auf RGB konfigurieren lassen, er hat dann einfach garkein Bild mehr gemacht. Deswegen stell ich das per Hand um.Was heisst der RGB Patch muss jedesmal neu? Nach jedem start von X mit IEGD?
-
hab den pacth in das setup plugin geladen, und nach jedem Start muss ich im Setup plugin RGB nochmals neu aktivieren.
kannst du mir mal deine edid-1.bin und die xorg.conf zukommen lassen? bei mir ist das Bild grad ne Katastrophe...
-
Ich nutze die EDID-1.bin und xorg.conf aus diesem Post.
VDR auf der Samsung SMT-7020S -
Gibt es sowas wie i2cdump und i2cset um die Register der Grafikkarte zu sehen/bearbeiten?
Das müsste ja irgendwie über PCI laufen. -
-
-
Ich verwende Debian Etch mit Kernel 2.6.21.7.
Ich habe aber keine Möglichkeit, unter Debian IEGD auszuprobieren.
Ich würde auch gern darauf verzichten, da die 5.1 nicht mehr mit neueren
xorg-Versionen läuft, und neuere IEGDs den i810 nicht mehr unterstützen.
Ich finde, man sollte zukunftssicher bleiben.
Ausserdem wird der Focus durch das Bios im qpr mit 0x9841 initialisiert. Der
Dump mit IEGD, den Maniac im anderen Thread gepostet hat, zeigt aber nur
Nullen im qpr. Ich hab noch nicht getestet, was passiert, wenn ich Nullen ins
qpr schreibe, und alle anderen Register soweit kopiere.
Aber ich denke, der beste Ansatz ist, 0x9865 ins qpr zu schreiben, und dann
die restlichen Register anzupassen. Wenn ich nur mal mit den Formeln der
PLL klar käme. Aber das sind für mich römische Dörfer. Da kann ich momentan
nur mehr oder weniger wild rumprobieren. Was z. B. hat es mit diesen Produkt-
faktoren auf sich. Heisst das, ich kann bei PAL für den P-Wert nur 2, 3 oder 5
nehmen? Das ganze steht aus S. 30 der Datasheet. Und M muss anscheinend
650 sein. Dann bleibt also nur noch N übrig.
Dann ins Register 0Eh 0x0000 schreibe, um UIM_CCLK und UIM_DCLK zu
invertieren. Das ist bei der Originalinitialisierung auch so, und brachte auch
mit 0x9865 im qpr eine erhebliche Verbesserung, dass man vom Bild schon
fast was erkennen konnte. -
Lese hier schon länger mit, verstehe immer noch nicht genau was das mit diesen I2C Dumps bedeuten soll.
Fügt mal diese Zeile in euren Bootmanager ein. Dann stellt Linux die Commandozeile endlich ohne Fehler auf dem TV dar:append="agpgart,video=i810fb:vram:4,xres:800,yres:600,bpp:16,hsync1:30,hsync2:55,vsync1:50,vsync2:85"
Foppel
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!