uli/dingoo-tvout
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Tool and kernel patch to enable TV output on the Dingoo A-320 under Linux. ============================================================================= WARNING: This tool changes the system clocks from userspace, which is a big no-no! (But kinda works for now...) Generally, all manipulation of the system clocks should be done in the kernel, and only the kernel. It seems, however, that its CPU scaling driver does not currently work. Therefore other tools (most notably gmenu2x) tamper with the clock generator as well, and they do it without regard to proper LCD and pixclock timing. This will wreak havoc on the TV output and may cause the TV encoder to send rather disturbing signals to your TV. Judging from the sounds my TV set makes in that case, I could imagine that this might be harmful. A workaround is to set the default frequency for gmenu2x to 336 MHz before enabling the TV output. This will still cause it to set a higher LCD clock than necessary, but things will still work. Of course, this does not fix other applications that manipulate the clocks, so beware! ============================================================================= Requirements: - A Dingoo A-320. If you are brave enough to try this on an A-330, please report whether it works. - A kernel with working I2C support. You should be able to get a kernel patch and a pre-built zImage for ILI9331 (the only display I have) at the same place you got this from (http://github.com/uli/dingoo-tvout). Usage: tvout [OPTION...] --ntsc output NTSC-M signal --pal output PAL-B/D/G/H/K/I signal --off turn off TV output and re-enable the SLCD --debug print debug output to stderr --help display this help and exit Running tvout with "--pal" or "--ntsc" enables TV output using the respective system. Running it with "--off" turns off TV output and returns to the built-in LCD display. Known problems: - Occasionally, the timing appears to be off, and the picture is shifted horizontally. This may be due to incorrect order of initialization of the LCDC. Unfortunately, only rebooting seems to fix it. - Sometimes, when enabling TV output after a power cycle, the screen is completely garbled, with the correct picture occasionally popping up between periods of noise. After a warm reboot, things work fine. - Sound on the internal speakers is not turned off when TV output is enabled. Things that are technically possible, but not (yet) implemented: - Higher resolutions. The LCD controller supports up to 800x600, and the TV encoder up to 720x576. This, however, would definitely require putting the whole show in the kernel (where it belongs anyway). - Hue/contrast/saturation/brightness/sharpness settings and repositioning of the on-screen picture. - Detecting whether a TV set is connected. Things that are not technically possible: - Dual-head operation. While the SLCD, being the smart device that it is, retains the last picture it was sent before the SLCD controller is turned off, it is not possible to operate it at the same time as the LCD controller (which the TV encoder is hooked up to) because they share the same pins on the CPU.