tiny210 hdmi

Tomasz Myrta
Hello

1. I've got a problem with hdmi-service. If I turn on tv AFTER tiny210 -
computer hangs the same moment I turn tv on. Can I fix it somehow ? I've
got the same 1080P resolution in superboot configuration and in HDMI.conf
2. How can I change resolution run-time? HDMI.conf seems to be ignored - I
always get resolution set in superboot. 
3. hdmi-service creates unix socket - is there anything interesting?

For those, who can't start hdmi output, I prepared quick tutorial:

1. hdmi-service files. You need to copy from FA rootfs qtopia:
/bin/hdmi-service
/lib/libedid.so
/lib/libcec.so
/lib/libddc.so
/lib/libfimc.so

2. System files:
mknod /dev/video14 c 81 14
mknod /dev/video21 c 81 21
mknod /dev/video22 c 81 22
mkdir /root/Settings

3. Compiling kernel - in section Multimedia support/Video capture adapters
you need:
* samsung multimedia
* v4l2 api samsung
* samsung camera interface (yes, this one too)
* samsung tv driver+cec+hpd

4. It still doesn't work. hdmi-service doesn't show any useful errors, but
investigating it strace+strings gave me a clue:
- hdmi-service terminates after looking into /proc/version
- there is a string "GCC: (ctng-1.8.1-FA) 4.5.1"
I guess hdmi-service refuses to work with kernel compiled with other gcc
version then mentioned above. You have either to compile kernel using gcc
from FA dvd or you can replace in kernel sources scripts/mkcompile_h
echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
with echo "#define LINUX_COMPILER \"gcc version 4.5.1 (ctng-1.8.1-FA) \""

After this hack - hdmi-service starts properly and you have the same image
on TV as on LCD.
One more hint - if you want to set higher resolution, superboot doesn't
support HDMI1080P50, you have to use HDMI1080P60.

Reggie
Tomasz, nice work!!  what kernel and rootfs are you using?

I've been caught up in mini2440/6410 stuff recently but the '210' hdmi
stuff is something I want to tackle at some point, afaik, if you're using
linux/ubuntu, then it will always enumerate the first screen that it finds,
which will be the lcd and that will define the resolution.

AFAIK, android is the only kernel capable of running different resolutions
on the lcd AND hdmi at the same time, it may well be that we have to look
at the android code (As that is apparently open source) to get the
functionality that we all want.

I'm using a mini210S btw. but the hdmi stuff is going to be the same.

Tomasz Myrta
Kernel is linux-3.0.8-20121027.tgz and I pick necessary files from
rootfs_qtopia_qt4-20121027.tar.gz found in Tiny210V2-20121027.iso. There is
newer Mini210s-20121217.iso, but it has the same hdmi-service. It contains
a bit newer kernel linux-3.0.8-20121030.tgz, but I haven't tried it yet.

Reggie
I'd like to see about getting dvi working with the 210 chip as well,
shouldn't be too difficult, it'll be a bunch of values like the HDMI ones
and a register value, I did find a 210 based repo somewhere that was
talking about changing hdmi with a script, I'll see if i can find it again
tomasz.

Tomasz Myrta
The reason of system freezing were missing kernel options:
CONFIG_REGULATOR=y
CONFIG_S5PV210_POWER_DOMAIN=y

And one more hint - LCD must be unplugged during SD->NAND programming.
Otherwise superboot will replace requested HDMI1080P60 boot option with
autodetected LCD.

Reggie
I already mentioned about the lcd :-)  btw. the new dvd isos on the ftp
site are being updated, they hadn't uploaded properly and were only a few
MB in size, so I let someone know and FA are re-uploading them :-)  Looks
like the mini210S ones are being done first, and the upload speed looks to
be about 20KB/s

Clio
I'm trying to exec the hdmi-service under emdebian wheezy, but every time I
run it I get the message 
libedid.so: cannot open shared object file: No such file or directory

I've copied the libs 
/lib/libedid.so
/lib/libcec.so
/lib/libddc.so
/lib/libfimc.so

to /lib

Any clue?
Thanks.

Clio
Update
I've compiled the 3.0.8 kernel using the mini210_linux_defconfig (just
disabling the initramfs support). If I use this kernel with the qtopia
rootfs the hdmi works just fine but I want to output video via HDMI on
debian.

I've installed the binutils package and the error now is: permission denied
I've been using the strings+strace utils with no avail.

Someone?

Thanks.

Clio
UPDATE2
It worked out on debian (emdebian) 6 armel using the steps from Tomasz.
Debian Wheezy (emdebian) armhf was a no go.

Reggie
you'll need armhf versions of any modules at a guess, no idea if they exist
or not, it would be a real pity if they don't.

Clio
Hi Reggie,
Well, the HDMI output works under linux (emdebian squeeze) now, but seems
like I can't get the correct combination of bootloader + kernel.
I thought that I was compiling a bogus kernel because I was getting some
random NAND errors, but after a day compiling and compiling different
kernels I decided to use the precompiled kernel found on the DVD ISO 
I've used the kernel and bootloader of almost every DVD released with no
avail.
Like every 15 second appears a message "s5p-nand: ECC uncorrectable error
detected"
I don't know if this is normal.

TESTED Bootloaders:
1.6, 1.10 and 1.13 = s5p-nand: ECC uncorrectable error detected

I'm downloading the 1.7 DVD to test now.

Reggie
I would look on the arm9home.net forums, there is an updated
tiny210/mini210 image, it's hosted as individual files on a baidu cloud
account.

If you're getting uncorrectable errors, I would reburn and use the
LowFormat = Yes option, this will wipe the nand, whatever superboot that
you use, make sure that you grab the kernel from the same disk, whether you
use the kernel binary or kernel sources.

LowFormat will wipe the nand and make sure that you haven't got errors
lingering around from mismatched kernel/superboot.

Clio
Hello Reggie,
I was using the lowformat paramter. I'll go to the arm9home now.
Thanks.

Clio
Seems like with the latest bootloader (1.16) + Kernel from the arm9home
site the problem was fixed.
Thanks!