IDE fixes for PPC (Laurent Vivier)

git-svn-id: svn://coreboot.org/openbios/openbios-devel@292 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Blue Swirl
2008-12-20 14:48:40 +00:00
parent 5766c8fb3a
commit edafcf6e86
18 changed files with 388 additions and 72 deletions

View File

@@ -28,7 +28,6 @@
#include "openbios-version.h"
extern void unexpected_excep( int vector );
extern void ob_ide_init( void );
extern void ob_pci_init( void );
extern void ob_adb_init( void );
extern void setup_timers( void );
@@ -95,17 +94,10 @@ arch_of_init( void )
devtree_init();
nvram_init("/pci/mac-io/nvram");
modules_init();
setup_timers();
#ifdef CONFIG_DRIVER_PCI
ob_pci_init();
#endif
#ifdef CONFIG_DRIVER_IDE
setup_timers();
ob_ide_init();
#endif
#ifdef CONFIG_DRIVER_ADB
ob_adb_init();
#endif
node_methods_init();
init_video();

View File

@@ -81,6 +81,65 @@ finish-device
h# FEC00000 encode-int h# 100000 encode-int encode+ " reg" property
0 encode-int 0 encode-int encode+ " bus-range" property
new-device
" isa" device-name
" isa" device-type
2 encode-int " #address-cells" property
1 encode-int " #size-cells" property
external
: open true ;
: close ;
finish-device
: ?devalias ( alias-str alias-len device-str device-len --
\ alias-str alias-len false | true )
active-package >r
" /aliases" find-device
\ 2dup ." Checking " type
2dup find-dev if \ check if device exists
drop
2over find-dev if \ do we already have an alias?
\ ." alias exists" cr
drop 2drop false
else
\ ." device exists" cr
encode-string
2swap property
true
then
else
\ ." device doesn't exist" cr
2drop false
then
r> active-package!
;
:noname
" hd"
" /pci/pci-ata/ata-1/disk@0" ?devalias not if
" /pci/pci-ata/ata-1/disk@1" ?devalias not if
" /pci/pci-ata/ata-2/disk@0" ?devalias not if
" /pci/pci-ata/ata-2/disk@1" ?devalias not if
2drop ." No disk found." cr
then
then
then
then
" cdrom"
" /pci/pci-ata/ata-1/cdrom@0" ?devalias not if
" /pci/pci-ata/ata-1/cdrom@1" ?devalias not if
" /pci/pci-ata/ata-2/cdrom@0" ?devalias not if
" /pci/pci-ata/ata-2/cdrom@1" ?devalias not if
2drop ." No cdrom found" cr
then
then
then
then
; SYSTEM-initializer
new-device
" ide" device-name
" ide" device-type