| Prev | 2   10     11   12   13     14   22 | Next | Last
maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Alternatives (https://talk.maemo.org/forumdisplay.php?f=36)
-   -   u-boot for the RX-51 (N900) (https://talk.maemo.org/showthread.php?t=62146)

mirakels 2011-10-08 20:06

Re: u-boot for the RX-51 (N900)
 
5 Attachment(s)
Pali, here are my patches. On top of your scollup fix I added a fix to use the memsetl() again.
Furthermore the clearscreen stuff and some cosmetic changes/fixes.

mirakels 2011-10-08 20:07

Re: u-boot for the RX-51 (N900)
 
1 Attachment(s)
and the backlight patch

pali 2011-10-08 21:57

Re: u-boot for the RX-51 (N900)
 
First thanks for patches!

My comments:

0001-RX51-bootmenu-add-clr-command-to-clear-the-screen.patch.txt - Please add definitions directly to include/config_cmd_default.h and include/config_cmd_all.h (not into rx51)

0002-RX51-cfb_console-fix-cursor_fix-checks.patch.txt 0003-RX51-cfb_console-console_clear_line-fix-refacored-li.patch.txt - Thanks, this is reason why sometimes I got some bad pixels. I melt this patch into my series.

0004-drivers-video-cfb-console.c-Fix-function-console_scr.patch 0005-cfb_console-fix-console_scrollup.patch.txt - patches deleted (see below)

0006-RX51-add-command-to-set-screen-backlight.patch - there is missing some files in this patch. But we do not want to add new specific command only for n900 (not usefull for upstream). And I tested this patch and it break brightness in Maemo kernel. When I used this patch I was not able to change brightness in Maemo (via controlpanel or sysfs). Can you look at this error?

===

Correct implementation of function console_scrollup is:
memcpyl(CONSOLE_ROW_FIRST, CONSOLE_ROW_SECOND, CONSOLE_SCROLL_SIZE);

CONSOLE_SCROLL_SIZE is full, not without first 2 bits! This is working fine now.

When I finish my patch series, I will commit all into gitorious

mirakels 2011-10-09 10:11

Re: u-boot for the RX-51 (N900)
 
1 Attachment(s)
Quote:

Originally Posted by pali (Post 1105711)
0001-RX51-bootmenu-add-clr-command-to-clear-the-screen.patch.txt - Please add definitions directly to include/config_cmd_default.h and include/config_cmd_all.h (not into rx51)

I see what you mean. See attachment for a new version.
To enable the command for rx51 I guess you still need to add the define to rx51.h manually.

Quote:

Originally Posted by pali (Post 1105711)
0006-RX51-add-command-to-set-screen-backlight.patch - there is missing some files in this patch. But we do not want to add new specific command only for n900 (not usefull for upstream). And I tested this patch and it break brightness in Maemo kernel. When I used this patch I was not able to change brightness in Maemo (via controlpanel or sysfs). Can you look at this error?

Yes that is why I added the big WARNING. I noticed the brightness problem too but when I set backlight to 0 just before booting a kernel this problem seems to be gone.

What files are you missing?

The reason that I added it in the n900 specific part is that I'm not sure if the command is useful on other devices. I guess that is the reason you added the regulator patches to the rx51.c file too. If they are generic enough I guess the regulator and backlight code could be moved to power/twl4030.c
or friends.

Quote:

Originally Posted by pali (Post 1105711)
Correct implementation of function console_scrollup is:
memcpyl(CONSOLE_ROW_FIRST, CONSOLE_ROW_SECOND, CONSOLE_SCROLL_SIZE);

CONSOLE_SCROLL_SIZE is full, not without first 2 bits! This is working fine now.

CONSOLE_SCROLL_SIZE reflects the number of bytes in the scroll area. but memcpyl() moves ints! To reflect the weirdness in this I think you should still use

memcpyl(CONSOLE_ROW_FIRST, CONSOLE_ROW_SECOND, 4*CONSOLE_SCROLL_SIZE >> 2);

PS: maybe you should consider pushing the ANSI and bootmenu patches to denx asap. They are quite useful for everybody right now!

And great you figured about the regulator stuff to enable the mmc cards!

Fabry 2011-10-09 10:27

Re: u-boot for the RX-51 (N900)
 
These future N900 u-boot's images will have a working saveenv command or other solutions to persist modification to env ?

pali 2011-10-09 10:50

Re: u-boot for the RX-51 (N900)
 
Quote:

Originally Posted by Fabry (Post 1105896)
These future N900 u-boot's images will have a working saveenv command or other solutions to persist modification to env ?

no. but it eMMC part1 (MyDocs) now is workinf so it can be used for this. (but someone must write patch which will use this) but I think that saveenv is not needed...

I'm prepairing rx51 config to load bootmenu configuration from eMMC part1 file bootmenu.scr. So changing bootmenu entires wil not need to recompile u-boot. So in Maemo (or in all other systems) will be ulility update-uboot which update bootmenu.scr file in eMMC (MyDocs). We can use similar configuration file like in bootmenu/multiboot for configuring menu entires. And for security, if keyboard will be closed this file will be ignored (so if somebody damage this file, still can boot maemo5 in internal flash)

pali 2011-10-09 11:02

Re: u-boot for the RX-51 (N900)
 
Quote:

Originally Posted by mirakels (Post 1105889)
I see what you mean. See attachment for a new version.
To enable the command for rx51 I guess you still need to add the define to rx51.h manually.

yes, ok. it is needed in rx51 and cmd_all

Quote:

Originally Posted by mirakels (Post 1105889)

Yes that is why I added the big WARNING. I noticed the brightness problem too but when I set backlight to 0 just before booting a kernel this problem seems to be gone.

yes, this is reason why not to upstream this patch. We need look how maemo kernel set brightness!

Quote:

Originally Posted by mirakels (Post 1105889)

What files are you missing?

that for command - but this was only for rx51, so command can be deleted!

Quote:

Originally Posted by mirakels (Post 1105889)

The reason that I added it in the n900 specific part is that I'm not sure if the command is useful on other devices. I guess that is the reason you added the regulator patches to the rx51.c file too. If they are generic enough I guess the regulator and backlight code could be moved to power/twl4030.c
or friends.


CONSOLE_SCROLL_SIZE reflects the number of bytes in the scroll area. but memcpyl() moves ints! To reflect the weirdness in this I think you should still use

memcpyl(CONSOLE_ROW_FIRST, CONSOLE_ROW_SECOND, 4*CONSOLE_SCROLL_SIZE >> 2);

And (4*CONSOLE_SCROLL_SIZE >> 2) is not same as CONSOLE_SCROLL_SIZE? Byteshift (C >> 2) is same as (C/4), so (4*C >> 2) = (4*C/4) = C

Quote:

Originally Posted by mirakels (Post 1105889)


PS: maybe you should consider pushing the ANSI and bootmenu patches to denx asap. They are quite useful for everybody right now!

Sorry, but my bootmenu will not be upstreamed. In upstream will be other implementation of bootmenu (like config for pxecfg) by someone else.

Quote:

Originally Posted by mirakels (Post 1105889)

And great you figured about the regulator stuff to enable the mmc cards!

this could be tested on more HW revisions first! It working on my 2101. Do you have other HW rev?

Fabry 2011-10-09 12:44

Re: u-boot for the RX-51 (N900)
 
Quote:

Originally Posted by pali (Post 1105913)
And (4*CONSOLE_SCROLL_SIZE >> 2) is not same as CONSOLE_SCROLL_SIZE? Byteshift (C >> 2) is same as (C/4), so (4*C >> 2) = (4*C/4) = C

It's not the same.

(4*C>>2) = ((C<<2)>>2) = clear two most significative bits

For example suppose C as byte (unsigned):

If C = 46 (0010 1110) then (4*C>>2) = 46 (0010 1110) also, but if C = 114 (0111 0010) then (4*C>>2) = 50 (0011 0010)

mirakels 2011-10-09 13:06

Re: u-boot for the RX-51 (N900)
 
Quote:

Originally Posted by pali (Post 1105913)
yes, this is reason why not to upstream this patch. We need look how maemo kernel set brightness!

brightness seems to be on higher levels. in de nokia patches. I had a quick look but do not see any direvt twl or i2c calls doing brightess.

I took the backlight code right from the kernel source however.

Quote:

Originally Posted by pali (Post 1105913)
And (4*CONSOLE_SCROLL_SIZE >> 2) is not same as CONSOLE_SCROLL_SIZE? Byteshift (C >> 2) is same as (C/4), so (4*C >> 2) = (4*C/4) = C

Yes it will be the same and probably will be compiled away.
But in this form it will show the weirdness of needing to scroll way beyond
the actual framebuffer.

Quote:

Originally Posted by pali (Post 1105913)
this could be tested on more HW revisions first! It working on my 2101. Do you have other HW rev?


I have 2204. My previous on was a 2104 I think (not sure though) and u-boot worked fine with that model too.

pali 2011-10-09 13:12

Re: u-boot for the RX-51 (N900)
 
Quote:

Originally Posted by Fabry (Post 1105950)
It's not the same.

(4*C>>2) = ((C<<2)>>2) = clear two most significative bits

For example suppose C as byte (unsigned):

If C = 46 (0010 1110) then (4*C>>2) = 46 (0010 1110) also, but if C = 114 (0111 0010) then (4*C>>2) = 50 (0011 0010)

No, It is same because first is multiply and then is byteshift. Try this:

Code:

printf("%#x %#x\n", 4*114 >> 2, 114);
printf("%#x %#x\n", 4*46 >> 2, 46);

output is:

Code:

0x72 0x72
0x2e 0x2e



| Prev | 2   10     11   12   13     14   22 | Next | Last
All times are GMT. The time now is 21:57.

vBulletin® Version 3.8.8