[Gen9 Android Development] trevd:
Hi Steve

Not got round to my 3G voice testing yet but I have been messing around in other places, I've been taking a closer look at the archos specifics in the kernel especially re: the Camera and HDMI. I think you're mistaken on the camera model. Looking at the sources the camera is an Aptina MT9M114, ( Scholbert has it as that as well ) There's a couple of resources knocking around for them, I found a generic jellybean V4L Camera Hal which I'm going to play with. On the HDMI Front. It could all come back to the Kernel Config again. Have you got 2 framebuffers configured. In all our previous configs it looks like it's only ever been set to 1. I was reading the readme for implementing SGX/PVR DDK on standard linux which is quite insightful. I've not had chance to give it a proper test yet but this Is my output with 2 FB's while booted into CWM

<6>[ 294.662445] omapdss HDMI: Enter hdmi_display_disable
<3>[ 294.662506] HDMI TX OFF
<6>[ 294.675842] omapdss HDMI: Release c-state constraint for HDMI
<6>[ 294.675872]
<6>[ 294.675933] hdmi: clearing EDID info
<3>[ 294.676208] HDMI LINK try dis-/connect
<3>[ 294.676239] HDMI LINK try dis-/connect
<3>[ 295.119812] HDMI LINK try dis-/connect
<3>[ 295.119903] HDMI LINK CONNECT
<6>[ 295.171722] hpd 1
<3>[ 295.212921] in hpd work 1, state=0
<6>[ 295.213043] omapdss HDMI: ENTER hdmi_display_enable
<6>[ 295.213195] omapdss HDMI: Set c-state constraint for HDMI
<6>[ 295.213226]
<4>[ 295.213256] HDCP: invalid AKSV
<3>[ 295.213287] omapdss HDMI error: *** INVALID AKSV: 0 Do not perform HDCP AUTHENTICATION
<3>[ 295.213470] HDMI TX ON
<3>[ 295.314483] omapdss DISPC error: timeout waiting for EVSYNC
<3>[ 295.376983] in hpd work 2, state=1
<6>[ 296.033813] edid[000] = 00 ff ff ff ff ff ff 00 34 a9 96 a0 01 01 01 01
<6>[ 296.033874] edid[010] = 00 13 01 03 80 00 00 78 0a da ff a3 58 4a a2 29
<6>[ 296.033905] edid[020] = 17 49 4b 00 00 00 01 01 01 01 01 01 01 01 01 01
<6>[ 296.033966] edid[030] = 01 01 01 01 01 01 02 3a 80 d0 72 38 2d 40 10 2c
<6>[ 296.033996] edid[040] = 45 80 ba 88 21 00 00 1e 02 3a 80 18 71 38 2d 40
<6>[ 296.034057] edid[050] = 58 2c 45 00 ba 88 21 00 00 1e 00 00 00 fc 00 50
<6>[ 296.034118] edid[060] = 61 6e 61 73 6f 6e 69 63 2d 54 56 0a 00 00 00 fd
<6>[ 296.034149] edid[070] = 00 17 3d 0f 44 0f 00 0a 20 20 20 20 20 20 01 e2
<6>[ 296.034210] edid[080] = 02 03 25 72 50 9f 90 14 05 20 13 04 12 03 11 02
<6>[ 296.034240] edid[090] = 16 07 15 06 01 23 09 07 01 67 03 0c 00 20 00 b8
<6>[ 296.034301] edid[0a0] = 26 e3 05 03 01 01 1d 80 d0 72 1c 16 20 10 2c 25
<6>[ 296.034362] edid[0b0] = 80 ba 88 21 00 00 9e 01 1d 80 18 71 1c 16 20 58
<6>[ 296.034393] edid[0c0] = 2c 25 00 ba 88 21 00 00 9e 01 1d 00 bc 52 d0 1e
<6>[ 296.034454] edid[0d0] = 20 b8 28 55 40 ba 88 21 00 00 1e 01 1d 00 72 51
<6>[ 296.034484] edid[0e0] = d0 1e 20 6e 28 55 00 ba 88 21 00 00 1e 8c 0a d0
<6>[ 296.034545] edid[0f0] = 90 20 40 31 20 0c 40 55 00 ba 88 21 00 00 18 1b
<6>[ 296.034606] edid[100] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034637] edid[110] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034698] edid[120] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034729] edid[130] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034790] edid[140] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034820] edid[150] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034881] edid[160] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034912] edid[170] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.034973] edid[180] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035003] edid[190] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035064] edid[1a0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035095] edid[1b0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035156] edid[1c0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035217] edid[1d0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035247] edid[1e0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035308] edid[1f0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<6>[ 296.035583] panel size 0 by 0
<3>[ 305.917907] HDMI LINK try dis-/connect
<3>[ 305.917999] HDMI LINK DISCONNECT
<6>[ 313.151489] hpd 0
<3>[ 313.181671] in hpd work 0, state=1
<6>[ 313.183624] omapdss HDMI: Enter hdmi_display_disable
<3>[ 313.183654] HDMI TX OFF
<6>[ 313.197021] omapdss HDMI: Release c-state constraint for HDMI

I'd say that. It looks promising. A little more research and I think that can be cracked!! Logically the HDMI Display mirroring should have nothing to do with Android , short of the HWC HAL writing to the sysfs entry.

I've attached a the DDK Readme and some info on aptina camera and V4L ( ics focused but still might be useful )

And Finally, A little OT for this thread but ....

I got recovery working in it's on Ramdisk. It's the same method that is used on some samsung devices, where the recovery ramdisk is packed with the kernel internally. I've added one line of code to the kernel and it works a treat :D . I then deleted the 8MB mmcblk0p3 partition, Shrunk data partition (mmcblk0p4) by 700MB and now I have a proper 700MB system partition. Just need to break the roms up into a boot image and system partition.

@Quinny - Did you ever split that CM10 Rom you where playing with?

Oh Yeah.... nearly forgot, to make one rom , just remove the "setprop ro.product.model "ARCHOS 101G9" and similar. then the ro.hardware property becomes init.archosa101sboard.rc instead of init.A101S.rc as it uses the kernel board names. You will also have to add an import init.${ro.hardware}.rc to the top of one of the init.rc's. With my current kernel config I've built the touchscreen drivers in the kernel which seem to work ok.

Right I'm off to find the Kernels secret recipe. :good: