[openfirmware] [commit] r2740 - cpu/arm/olpc cpu/arm/olpc/3.0 cpu/x86/pc/olpc cpu/x86/pc/olpc/via dev/hdaudio dev/olpc/touchpad ofw/gui
repository service
svn at openfirmware.info
Tue Dec 6 08:11:23 CET 2011
Author: wmb
Date: Tue Dec 6 08:11:23 2011
New Revision: 2740
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2740
Log:
OLPC - fixed hardcoded display resolution in various graphics packages.
Modified:
cpu/arm/olpc/3.0/lcdcfg.fth
cpu/arm/olpc/3.0/usb.fth
cpu/arm/olpc/build-fw.fth
cpu/arm/olpc/roller.fth
cpu/arm/olpc/testitems.fth
cpu/x86/pc/olpc/gridmap.fth
cpu/x86/pc/olpc/gui.fth
cpu/x86/pc/olpc/plot.fth
cpu/x86/pc/olpc/via/copynand.fth
dev/hdaudio/noiseburst.fth
dev/olpc/touchpad/touchpad.fth
ofw/gui/graphics.fth
ofw/gui/iconmenu.fth
ofw/gui/rgb565bmp24.fth
Modified: cpu/arm/olpc/3.0/lcdcfg.fth
==============================================================================
--- cpu/arm/olpc/3.0/lcdcfg.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/arm/olpc/3.0/lcdcfg.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -4,8 +4,6 @@
d# 8 value hsync \ Sync width
d# 1024 value hdisp \ Display width
d# 1344 value htotal \ Display + FP + Sync + BP
-\ d# 1200 value hdisp \ Display width
-\ d# 1256 value htotal \ Display + FP + Sync + BP
d# 24 value hbp \ Back porch
d# 3 value vsync \ Sync width
Modified: cpu/arm/olpc/3.0/usb.fth
==============================================================================
--- cpu/arm/olpc/3.0/usb.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/arm/olpc/3.0/usb.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -62,7 +62,10 @@
d# 350 config-int usb-delay \ Milliseconds to wait before probing hub ports
-devalias u /usb/disk
+devalias otg /usb at d4208000 \ USB OTG (micro) connector
+devalias usba /usb at f0003000 \ USB-A connector
+devalias o /usb at d4208000/disk \ Disk on USB OTG (micro) connector
+devalias u /usb at f0003000/disk \ Disk on USB-A connector
\ Like $show-devs, but ignores pagination keystrokes
: $nopage-show-devs ( nodename$ -- )
Modified: cpu/arm/olpc/build-fw.fth
==============================================================================
--- cpu/arm/olpc/build-fw.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/arm/olpc/build-fw.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -300,8 +300,10 @@
devalias keyboard /keyboard
-create 15x30pc " ${BP}/ofw/termemu/15x30pc.psf" $file,
-' 15x30pc to romfont
+\+ olpc-cl2 create 15x30pc " ${BP}/ofw/termemu/15x30pc.psf" $file,
+\+ olpc-cl2 ' 15x30pc to romfont
+\+ olpc-cl3 create cp881-16 " ${BP}/ofw/termemu/cp881-16.obf" $file,
+\+ olpc-cl3 ' cp881-16 to romfont
fload ${BP}/cpu/arm/olpc/sdhci.fth
\- cl2-a1 fload ${BP}/cpu/arm/olpc/emmc.fth
@@ -442,12 +444,13 @@
: mmp-fb-tag, ( -- )
8 tag-l,
h# 54410008 tag-l, \ ATAG_VIDEOLFB
- d# 1200 tag-w, \ Width
- d# 900 tag-w, \ Height
- d# 24 tag-w, \ Depth
- d# 1200 3 * tag-w, \ Pitch
- fb-mem-va tag-l, \ Base address
- d# 1200 3 * d# 900 * tag-l, \ Total size - perhaps could be larger
+ screen-wh over tag-w, \ Width ( width height )
+ dup tag-w, \ Height ( width height )
+ " depth" $call-screen dup tag-w, \ Depth ( width height depth )
+ rot * 8 / dup tag-w, \ Pitch ( height pitch )
+ fb-mem-va tag-l, \ Base address ( height pitch )
+ * tag-l, \ Total size - perhaps could be larger
+ \ The following assumes depth is 16 bpp
5 tag-b, \ Red size
d# 11 tag-b, \ Red position
6 tag-b, \ Green size
@@ -694,7 +697,8 @@
d# 18 gpio-pin@ 0= if h# 100 or then \ X
d# 19 gpio-pin@ 0= if h# 01 or then \ Square
d# 20 gpio-pin@ 0= if h# 40 or then \ Rotate
-[else]
+[then]
+[ifdef] olpc-cl2
[ifdef] use_mmp2_keypad_control
d# 15 gpio-pin@ 0= if button-rotate or then ( n )
scan-keypad ( n keypad )
@@ -908,7 +912,7 @@
disable-user-aborts
console-start
-\- olpc-cl3 read-game-keys
+ read-game-keys
factory-test? 0= if text-off then
Modified: cpu/arm/olpc/roller.fth
==============================================================================
--- cpu/arm/olpc/roller.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/arm/olpc/roller.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -80,8 +80,8 @@
d# 20 constant ball-radius
d# 40 constant ball-diameter
-d# 1200 ball-diameter - >fraction constant maxx
-d# 900 ball-diameter - >fraction constant maxy
+: maxx ( -- n ) screen-wh drop ball-diameter - >fraction ;
+: maxy ( -- n ) screen-wh nip ball-diameter - >fraction ;
d# 400 >fraction constant maxz
: 3swap ( x1 y1 z1 x2 y2 z2 -- x2 y2 z2 x1 y1 z1 ) 5 roll 5 roll 5 roll ;
Modified: cpu/arm/olpc/testitems.fth
==============================================================================
--- cpu/arm/olpc/testitems.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/arm/olpc/testitems.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -23,7 +23,9 @@
: battery-item ( -- ) " /battery" mfg-test-dev ;
: spiflash-item ( -- ) " /flash" mfg-test-dev ;
: memory-item ( -- ) " /memory" mfg-test-dev ;
-: usb-item ( -- ) " /usb/hub" mfg-test-dev ;
+\+ olpc-cl2 : usb-item ( -- ) " /usb/hub" mfg-test-dev ;
+\+ olpc-cl3 : otg-item ( -- ) " otg" mfg-test-dev ;
+\+ olpc-cl3 : usb-item ( -- ) " usba" mfg-test-dev ;
: int-sd-item ( -- ) " int:0" mfg-test-dev ;
\- olpc-cl3 : ext-sd-item ( -- ) " ext:0" mfg-test-dev ;
: rtc-item ( -- ) " /rtc" mfg-test-dev ;
@@ -73,9 +75,13 @@
" RTC (Real-Time Clock)"
['] rtc-item clock.icon 2 4 install-icon
- " USB ports"
+\+ olpc-cl2 " USB ports"
+\+ olpc-cl3 " USB-A port"
['] usb-item usb.icon 3 0 install-icon
+\+ olpc-cl3 " USB OTG port"
+\+ olpc-cl3 ['] otg-item usb.icon 3 1 install-icon
+
\ These are last because they require user participation.
\ The earlier tests are all included in automatic batch-mode.
Modified: cpu/x86/pc/olpc/gridmap.fth
==============================================================================
--- cpu/x86/pc/olpc/gridmap.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/x86/pc/olpc/gridmap.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -7,9 +7,19 @@
9 constant grid-w
9 constant grid-h
-d# 128 value #cols
+d# 128 value #cols \ Good for 1200x900, may be changed
d# 90 value #rows
+d# 26 constant status-line
+
: max-grid ( -- n ) #rows #cols * ;
+: set-array-size ( -- )
+ screen-wh char-wh nip 2* - grid-h - ( width height )
+ grid-h / to #rows ( width )
+ dup grid-w / to #cols ( width )
+ grid-w #cols * - 2/ ( x-offset )
+ grid-h to ulhc ( )
+ #rows 1+ grid-h * char-wh nip / 1+ to status-line
+;
\needs xy+ : xy+ ( x1 y1 x2 y2 -- x3 y3 ) rot + -rot + swap ;
\needs xy* : xy* ( x y w h -- x*w y*h ) rot * >r * r> ;
@@ -19,6 +29,7 @@
1 value scale-factor
: scale-block# ( eblock# -- ) scale-factor / ;
: set-grid-scale ( #eblocks -- )
+ set-array-size
d# 1000 1 do ( #eblocks )
dup i / max-grid <= if ( #eblocks )
drop ( )
Modified: cpu/x86/pc/olpc/gui.fth
==============================================================================
--- cpu/x86/pc/olpc/gui.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/x86/pc/olpc/gui.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -368,16 +368,21 @@
0 0 2value next-dot-xy
d# 463 d# 540 2constant progress-xy
+: ?adjust ( x y -- x' y' )
+\ 88 is 1200 1024 - 2/ , 66 is 900 768 - 2/
+\+ olpc-cl3 swap d# 88 - swap d# 66 - ( x' y' ) \ Recenter for XO-3
+;
+: set-icon-xy ( x y -- ) ?adjust to icon-xy ;
: show-going ( -- )
- background-rgb rgb>565 progress-xy d# 500 d# 100 " fill-rectangle" $call-screen
- d# 588 d# 638 to icon-xy " bigdot" show-icon
+ background-rgb rgb>565 progress-xy ?adjust d# 500 d# 100 " fill-rectangle" $call-screen
+ d# 588 d# 638 set-icon-xy " bigdot" show-icon
" vga?" $call-screen 0= if dcon-unfreeze dcon-freeze then
;
: show-no-power ( -- ) \ chip, battery, overlaid sad face
- d# 25 d# 772 to icon-xy " spi" show-icon
- d# 175 d# 772 to icon-xy " battery" show-icon
- d# 175 d# 790 to icon-xy " sad" show-icon
+ d# 25 d# 772 set-icon-xy " spi" show-icon
+ d# 175 d# 772 set-icon-xy " battery" show-icon
+ d# 175 d# 790 set-icon-xy " sad" show-icon
;
d# 834 value bar-y
@@ -391,8 +396,8 @@
;
: show-reflash ( -- ) \ bottom left corner, chip and progress dots
- d# 25 d# 772 to icon-xy " spi" show-icon
- d# 992 bar-x + bar-y to icon-xy " yellowdot" show-icon
+ d# 25 d# 772 set-icon-xy " spi" show-icon
+ d# 992 bar-x + bar-y set-icon-xy " yellowdot" show-icon
read-dot
;
@@ -416,7 +421,7 @@
: show-x ( -- ) " x" show-icon ;
: show-sad ( -- )
icon-xy
- d# 552 d# 283 to icon-xy " sad" show-icon
+ d# 552 d# 283 set-icon-xy " sad" show-icon
to icon-xy
;
: show-lock ( -- ) " lock" show-icon ;
@@ -425,8 +430,8 @@
: show-minus ( -- ) " minus" show-icon ;
: show-child ( -- )
" erase-screen" $call-screen
- d# 552 d# 384 to icon-xy " xogray" $show-opaque
- progress-xy to next-icon-xy \ For boot progress reports
+ d# 552 d# 384 set-icon-xy " xogray" $show-opaque
+ progress-xy ?adjust to next-icon-xy \ For boot progress reports
;
0 [if]
Modified: cpu/x86/pc/olpc/plot.fth
==============================================================================
--- cpu/x86/pc/olpc/plot.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/x86/pc/olpc/plot.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -76,7 +76,7 @@
: setup-plot ( -- )
h# ffff set-fg 0 set-bg
- d# 1200 d# 900 clear-plot
- d# 1200 d# 900 d# 100 hgrid
- d# 1200 d# 900 d# 100 vgrid
+ screen-wh clear-plot
+ screen-wh d# 100 hgrid
+ screen-wh d# 100 vgrid
;
Modified: cpu/x86/pc/olpc/via/copynand.fth
==============================================================================
--- cpu/x86/pc/olpc/via/copynand.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ cpu/x86/pc/olpc/via/copynand.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -72,8 +72,6 @@
0 h# ff h# ff rgb>565 constant strange-color \ cyan
h# e8 h# e8 h# e8 rgb>565 constant starting-color \ very light gray
-d# 26 constant status-line
-
: gshow-init ( #eblocks -- )
suspend-logging
dup set-grid-scale
Modified: dev/hdaudio/noiseburst.fth
==============================================================================
--- dev/hdaudio/noiseburst.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ dev/hdaudio/noiseburst.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -527,10 +527,16 @@
loopback-threshold <
;
-d# 1200 constant #impulse-response
-#impulse-response /w* buffer: impulse-response
+0 value impulse-response
+: #impulse-response ( -- samples ) screen-wh drop ;
+: ?alloc-impulse-buf ( -- )
+ impulse-response 0= if
+ #impulse-response /w* alloc-mem to impulse-response
+ then
+;
: calc-sm-impulse ( offset -- adr ) \ offset is 0 for left or 2 for right
+ ?alloc-impulse-buf
pb + rb #samples ( adr1 adr2 #samples )
#impulse-response 0 do
3dup swap i wa+ swap stereo-mono-covar ( adr1 adr2 #samples d.covar )
@@ -541,6 +547,7 @@
impulse-response ( adr )
;
: calc-stereo-impulse ( offset -- adr ) \ offset is 0 for left or 2 for right
+ ?alloc-impulse-buf
dup pb + swap rb + #samples ( adr1 adr2 #samples )
#impulse-response 0 do
3dup swap i la+ swap stereo-covar ( adr1 adr2 #samples d.covar )
Modified: dev/olpc/touchpad/touchpad.fth
==============================================================================
--- dev/olpc/touchpad/touchpad.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ dev/olpc/touchpad/touchpad.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -472,8 +472,8 @@
then ( x y )
\ Expand the PT (0..999) to the screen width (1200)
packet-type 2 = if ( x y )
- swap d# 1200 d# 1000 */
- swap d# 1200 d# 1000 */
+ swap screen-wh drop d# 1000 */
+ swap screen-wh drop d# 1000 */
then ( x y )
then ( x y )
Modified: ofw/gui/graphics.fth
==============================================================================
--- ofw/gui/graphics.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ ofw/gui/graphics.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -24,7 +24,15 @@
\needs screen-ih 0 value screen-ih
0 value mouse-ih
-d# 1200 d# 900 2value max-xy
+: $call-screen ( ??? adr len -- ??? ) screen-ih $call-method ;
+: screen-execute ( ?? xt -- ?? ) screen-ih package( execute )package ;
+
+\ : screen-wh ( -- x y )
+\ screen-ih package( screen-width screen-height )package
+\ ;
+: screen-wh ( -- x y ) " dimensions" $call-screen ;
+
+defer max-xy ' screen-wh to max-xy
: max-x ( -- n ) max-xy drop ;
: max-y ( -- n ) max-xy nip ;
@@ -39,14 +47,6 @@
>r swap r> - >r - r>
;
-: $call-screen ( ??? adr len -- ??? ) screen-ih $call-method ;
-: screen-execute ( ?? xt -- ?? ) screen-ih package( execute )package ;
-
-\ : screen-wh ( -- x y )
-\ screen-ih package( screen-width screen-height )package
-\ ;
-: screen-wh ( -- x y ) " dimensions" $call-screen ;
-
: (inset-xy) ( x y -- x' y' ) screen-wh max-xy xy- swap 2/ swap 2/ ;
defer inset-xy ' (inset-xy) to inset-xy
: inset ( x y w h -- x' y' w h ) 2swap inset-xy xy+ 2swap ;
Modified: ofw/gui/iconmenu.fth
==============================================================================
--- ofw/gui/iconmenu.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ ofw/gui/iconmenu.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -506,7 +506,7 @@
;
: setup-menu ( -- )
setup-graphics
- ?open-mouse
+\ ?open-mouse
cursor-off
gui-alerts
;
Modified: ofw/gui/rgb565bmp24.fth
==============================================================================
--- ofw/gui/rgb565bmp24.fth Tue Dec 6 08:11:13 2011 (r2739)
+++ ofw/gui/rgb565bmp24.fth Tue Dec 6 08:11:23 2011 (r2740)
@@ -78,15 +78,14 @@
;
: raw565bmp24 ( -- )
reading writing
- d# 1200 to image-width
- d# 900 to image-height
+ screen-wh to image-height to image-width
565>rects
ifd @ fclose ofd @ fclose
;
: xraw565bmp24 ( -- )
reading writing
- d# 1200 to image-width
+ screen-wh drop to image-width
d# 256 to image-height
565>rects
More information about the openfirmware
mailing list