From 9e80202352dd49bdd9e67b8b906d86f058431505 Mon Sep 17 00:00:00 2001
From: Timothy Pearson <tpearson@raptorengineering.com>
Date: Sat, 11 May 2019 15:12:49 -0500
Subject: Initial import of abandoned HQEMU version 2.5.2

---
 src/roms/SLOF/slof/fs/usb/usb-static.fs | 70 +++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 src/roms/SLOF/slof/fs/usb/usb-static.fs

(limited to 'src/roms/SLOF/slof/fs/usb/usb-static.fs')

diff --git a/src/roms/SLOF/slof/fs/usb/usb-static.fs b/src/roms/SLOF/slof/fs/usb/usb-static.fs
new file mode 100644
index 0000000..47db727
--- /dev/null
+++ b/src/roms/SLOF/slof/fs/usb/usb-static.fs
@@ -0,0 +1,70 @@
+\ *****************************************************************************
+\ * Copyright (c) 2004, 2011, 2013 IBM Corporation
+\ * All rights reserved.
+\ * This program and the accompanying materials
+\ * are made available under the terms of the BSD License
+\ * which accompanies this distribution, and is available at
+\ * http://www.opensource.org/licenses/bsd-license.php
+\ *
+\ * Contributors:
+\ *     IBM Corporation - initial implementation
+\ ****************************************************************************/
+
+\ Load dev hci
+: load-dev-hci ( num name-str name-len )
+   s" dev-hci.fs" INCLUDED
+;
+
+0 VALUE ohci-init
+0 VALUE ehci-init
+0 VALUE xhci-init
+0 VALUE usb-alias-num
+
+: get-usb-alias-num
+  usb-alias-num dup 1+ to usb-alias-num
+;
+
+\ create a new ohci device alias for the current node
+: set-ohci-alias  (  -- )
+    1 to ohci-init 
+    get-usb-alias-num       ( num )
+    s" ohci" 1 load-dev-hci
+;
+
+\ create a new ehci device alias for the current node
+: set-ehci-alias  (  -- )
+    1 to ehci-init
+    get-usb-alias-num       ( num )
+    s" ehci" 2 load-dev-hci
+;
+
+\ create a new xhci device alias for the current node
+: set-xhci-alias  (  -- )
+    1 to xhci-init 
+    get-usb-alias-num       ( num )
+    s" xhci" 3 load-dev-hci
+;
+
+: usb-enumerate ( hcidev -- )
+    USB-HCD-INIT
+;
+
+: usb-scan ( -- )
+    ." Scanning USB " cr
+    ohci-init 1 = IF USB-OHCI-REGISTER THEN
+    ehci-init 1 = IF USB-EHCI-REGISTER THEN
+    xhci-init 1 = IF USB-XHCI-REGISTER THEN
+
+    usb-alias-num 0 ?DO
+	" usb" i $cathex find-device
+	" get-hci-dev" get-node find-method
+	IF
+	    execute usb-enumerate
+	ELSE
+	    ." get-base-address method not found for usb@" i . 
+	    ."  Device type: "
+	    " device_type" get-node get-property 0= IF decode-string type cr 2drop THEN
+	THEN
+    LOOP
+    0 set-node     \ FIXME Setting it back
+;
-- 
cgit v1.1