Author: quozl Date: Thu Aug 4 02:00:15 2011 New Revision: 2412 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2412
Log: OLPC XO-1.75 - rework svn 2398 following review comments, change to a string property for the USB hub port test sequence, tested on A3 with Q4B06jb.
Modified: cpu/arm/olpc/1.75/usb.fth dev/usb2/hcd/probehub.fth
Modified: cpu/arm/olpc/1.75/usb.fth ============================================================================== --- cpu/arm/olpc/1.75/usb.fth Thu Aug 4 01:22:46 2011 (r2411) +++ cpu/arm/olpc/1.75/usb.fth Thu Aug 4 02:00:15 2011 (r2412) @@ -21,7 +21,7 @@ \ Port 2 is right upper \ Port 3 is left \ Port 4 is right lower - h# 03.04.02.00 " hub-port-seq" integer-property + " 3,4,2" " usb-hub-test-list" string-property
end-package
Modified: dev/usb2/hcd/probehub.fth ============================================================================== --- dev/usb2/hcd/probehub.fth Thu Aug 4 01:22:46 2011 (r2411) +++ dev/usb2/hcd/probehub.fth Thu Aug 4 02:00:15 2011 (r2412) @@ -219,23 +219,18 @@ : hub-selftest ( hub-dev -- error? ) to hub-dev ( )
- " hub-port-seq" get-inherited-property if ( ) + " usb-hub-test-list" get-inherited-property if ( ) hub-#ports 1+ 1 ?do ( ) i (hub-selftest) if true unloop exit then loop ( ) else ( propval$ ) - decode-int nip nip ( seq ) - - 4 0 do - dup h# ff000000 and d# 24 rshift h# ff and ( seq port ) - dup if ( seq port ) - (hub-selftest) if drop true exit then - else ( seq port ) - drop ( seq ) - then ( seq ) - d# 8 lshift ( seq' ) - loop ( seq ) - drop ( ) + decode-string 2nip ( list$ ) + begin dup while ( list$ ) + ascii , left-parse-string ( list$' dev#$ ) + push-decimal $number if 0 then pop-base ( list$ port# ) + (hub-selftest) if drop true exit then ( list$ ) + repeat ( list$ ) + 2drop then ( )
\ Maybe need to reset the entire hub here