Dear All,
I am releasing the binaries and patches for release of Audio, and Video
components for Video playback HW acceleration on Origen.
release_lib.tar
The shell script inside release_lib.tar will copy all the library files
required for audio and video in target SD Card.
Also, importantly it's required to place:
mfc_fw.bin: device/linaro/origen/firmware
secomxregistry, media_profiles.xml: device/linaro/origen/firmware
All the files mentioned above including uImage are present in
release_lib.tar
MM_Release.tar has the patches required for video and audio enablement in
Android.
Please untar it and perform the following:
1) The two patches in base folder goes to ->device/linaro/origen.
2) Patches inside frameworks, goes to->frameworks/base
3) Patches in gralloc_ump, goes to->hardware/samsung/origen/gralloc_ump
4) patches in gralloc, goes to->hardware/libhardware/modules/gralloc
The kernel source code cannot be released but the modifications are rebased
to latest available kernel
and android changes are based on latest 4.0.3 build.
Please let me know for any issues.
The video playback supported are MP4 container with H264 and MPEG4 Codecs.
Regards,
Annamalai
Hi,
while going over the bootargs we pass to iMX6 (inherited from those we
pass to iMX53, in turn inherited from those we pass to Panda, probably
at some point inherited from what we used to pass to Beagle, .....), I
spotted a few boot arguments I didn't know the meaning of - so I grep
-r-ed the codebase to see what they do.
In some cases, it turns out they do nothing at all because there's
nothing at all checking for them in current environments at least on
iMX* ("nocompcache", "fixrtc").
Probably every board maintainer should go over his boot args and
remove the useless ones at some point.
ttyl
bero
Hi added the printk. this is my code
static void ads7846_report_state(struct ads7846 *ts)
{
struct ads7846_packet *packet = ts->packet;
unsigned int Rt;
u16 x, y, z1, z2;
/* added for debug */
printk(KERN_INFO "ads7846_report_state\n");
/*
* ads7846_get_value() does in-place conversion (including byte swap)
* from on-the-wire format as part of debouncing to get stable
* readings.
*/
if (ts->model == 7845) {
x = *(u16 *)packet->tc.x_buf;
y = *(u16 *)packet->tc.y_buf;
z1 = 0;
z2 = 0;
} else {
x = packet->tc.x;
y = packet->tc.y;
z1 = packet->tc.z1;
z2 = packet->tc.z2;
}
/* range filtering */
if (x == MAX_12BIT)
x = 0;
if (ts->model == 7843) {
Rt = ts->pressure_max / 2;
} else if (ts->model == 7845) {
if (get_pendown_state(ts)) {
Rt = ts->pressure_max / 2;
} else {
/* added for debug */
printk(KERN_INFO "cannot get pendown state \n");
Rt = 0;
}
dev_vdbg(&ts->spi->dev, "x/y: %d/%d, PD %d\n", x, y, Rt);
} else if (likely(x && z1)) {
/* compute touch pressure resistance using equation #2 */
/* added for debug */
printk(KERN_INFO "compute touch pressure resistance using equation
#2 \n");
Rt = z2;
Rt -= z1;
Rt *= x;
Rt *= ts->x_plate_ohms;
Rt /= z1;
Rt = (Rt + 2047) >> 12;
} else {
/* added for debug */
printk(KERN_INFO "ts model ? %d \n", ts->model);
Rt = 0;
}
/* added for debug */
printk(KERN_INFO "Rt %d \n", Rt);
/*
* Sample found inconsistent by debouncing or pressure is beyond
* the maximum. Don't report it to user space, repeat at least
* once more the measurement
*/
if (packet->tc.ignore || Rt > ts->pressure_max) {
/* added for debug */
printk(KERN_INFO "Ignored %d pressure %d \n", packet->tc.ignore,
Rt);
dev_vdbg(&ts->spi->dev, "ignored %d pressure %d \n",
packet->tc.ignore, Rt);
return;
}
/*
* Maybe check the pendown state before reporting. This discards
* false readings when the pen is lifted.
*/
if (ts->penirq_recheck_delay_usecs) {
udelay(ts->penirq_recheck_delay_usecs);
if (!get_pendown_state(ts)) {
/* added for debug */
printk(KERN_INFO "cannot get pendown state \n");
Rt = 0;
}
}
/*
* NOTE: We can't rely on the pressure to determine the pen down
* state, even this controller has a pressure sensor. The pressure
* value can fluctuate for quite a while after lifting the pen and
* in some cases may not even settle at the expected value.
*
* The only safe way to check for the pen up condition is in the
* timer by reading the pen signal state (it's a GPIO _and_ IRQ).
*/
if (Rt) {
struct input_dev *input = ts->input;
if (ts->swap_xy)
swap(x, y);
if (!ts->pendown) {
input_report_key(input, BTN_TOUCH, 1);
ts->pendown = true;
dev_vdbg(&ts->spi->dev, "DOWN\n");
}
/* added for debug */
printk(KERN_INFO "input_report_abs x: %d, y: %d \n", x, y);
input_report_abs(input, ABS_X, x);
input_report_abs(input, ABS_Y, y);
input_report_abs(input, ABS_PRESSURE, ts->pressure_max - Rt);
input_sync(input);
dev_vdbg(&ts->spi->dev, "%4d/%4d/%4d\n", x, y, Rt);
} else {
/* added for debug */
printk(KERN_INFO "not reporting. Rt=%d \n", Rt);
}
}
and the output after touching the screen
<6>[ 59.531036] ads7846_report_state
<6>[ 59.534423] compute touch pressure resistance using equation #2
<6>[ 59.540771] Rt 0
<6>[ 59.542785] not reporting. Rt=0
<6>[ 59.553497] ads7846_report_state
<6>[ 59.556884] compute touch pressure resistance using equation #2
<6>[ 59.563201] Rt 0
<6>[ 59.565216] not reporting. Rt=0
<6>[ 59.577087] ads7846_report_state
<6>[ 59.580474] compute touch pressure resistance using equation #2
<6>[ 59.586791] Rt 0
<6>[ 59.588836] not reporting. Rt=0
<6>[ 59.850494] ads7846_report_state
<6>[ 59.853881] compute touch pressure resistance using equation #2
<6>[ 59.860198] Rt 0
<6>[ 59.862213] not reporting. Rt=0
Thanks
Francesco
2012/2/15 Francesco Sarasini <sarasini(a)gmail.com>
>
> Thank you. My code base is Linaro Android.
> I will add the printk to the code
>
> Francesco
>
>
> 2012/2/15 Bharathi Subramanian <bharathi.list(a)gmail.com>
>
>> On Tue, Feb 14, 2012 at 7:48 PM, Francesco Sarasini <sarasini(a)gmail.com>
>> wrote:
>>
>> >>> Please add printk to show the value of x, y, before and after the
>> >>> OMAP3EVM macro. That will give better idea about the touchevent.
>>
>> >> I'm sorry, where is the OMAP3EVM macro?
>>
>> Oops. I hope, it is in EVM Code. For BB-xM, it might be different.
>>
>> The following set of commands are responsible for sending the
>> co-ordinates to user space. You have to add printk before this and
>> check.
>>
>> input_report_abs(input, ABS_X, x);
>> input_report_abs(input, ABS_Y, y);
>> input_report_abs(input, ABS_PRESSURE, ts->pressure_max - Rt);
>>
>> Can you share info about code base (Rowboat/Linaro) ?
>>
>> Bye :)
>> --
>> Bharathi Subramanian
>>
>
>
Hi,
I just finished a working iMX6 build done completely with gcc 4.7.
All changes needed to make it build are committed, so most boards
should compile with gcc 4.7 now (kernels might have issues, especially
when built with -Werror).
0xbench results show very close to no difference between 4.6 and 4.7 builds.
Binaries tend to be larger with 4.7.
Bugs seem to be largely identical as well, unfortunately 4.7 doesn't
come with a fix for the live wallpaper problem.
So overall, we shouldn't run into too many problems with 4.7 - but we
also shouldn't expect too much from it (yet).
ttyl
bero
Hi all,
I'm trying to mirror the linaro-android repository but I have some
problems about the replicaisland repository.
To mirror, I have init the directory :
repo init -u git://android.git.linaro.org/platform/manifest.git --mirror
And sync :
repo sync -j1
I tried to git clone directly replicaisland :
$ git clone git://android.git.linaro.org/platform/external/replicaisland
Cloning into replicaisland...
fatal: The remote end hung up unexpectedly
Someone can confirm this problem please ?
Thanks,
Alexander had the very good idea to ask the Linux Foundation if they
would set up a hacking room. They set aside Salon 3 for today and
tomorrow. I've brought some (all) of the hardware down if people need
to run stuff or want to collaborate.
--
Zach Pfeffer
Android Platform Team Lead, Linaro Platform Teams
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog