[OpenBIOS] r145 - in openbios-devel: arch/sparc32 drivers

svn at openbios.org svn at openbios.org
Mon May 7 22:02:02 CEST 2007


Author: blueswirl
Date: 2007-05-07 22:02:01 +0200 (Mon, 07 May 2007)
New Revision: 145

Modified:
   openbios-devel/arch/sparc32/tree.fs
   openbios-devel/drivers/sbus.c
Log:
Fix power-management location for SS-10

Modified: openbios-devel/arch/sparc32/tree.fs
===================================================================
--- openbios-devel/arch/sparc32/tree.fs	2007-05-07 17:21:15 UTC (rev 144)
+++ openbios-devel/arch/sparc32/tree.fs	2007-05-07 20:02:01 UTC (rev 145)
@@ -117,13 +117,6 @@
   h# 26 encode-int 0 encode-int encode+ " intr" property
 finish-device
 
-" /iommu/sbus" find-device
-new-device
-  " power-management" device-name
-  h# 5 encode-int h# 0a000000 encode-int encode+ h# 00000010 encode-int encode+ " reg" property
-finish-device
-
-
 \ obio (on-board IO)
 " /" find-device
 new-device

Modified: openbios-devel/drivers/sbus.c
===================================================================
--- openbios-devel/drivers/sbus.c	2007-05-07 17:21:15 UTC (rev 144)
+++ openbios-devel/drivers/sbus.c	2007-05-07 20:02:01 UTC (rev 145)
@@ -20,6 +20,8 @@
 
 #define SBUS_REGS        0x28
 #define SBUS_SLOTS       16
+#define POWER_REGS       0x10
+#define POWER_OFFSET     0x0a000000
 
 static void
 ob_sbus_node_init(unsigned long bus, unsigned long base)
@@ -271,6 +273,30 @@
 }
 
 static void
+ob_power_init(unsigned int slot, unsigned long base)
+{
+    push_str("/iommu/sbus");
+    fword("find-device");
+    fword("new-device");
+
+    push_str("power-management");
+    fword("device-name");
+
+    PUSH(slot);
+    fword("encode-int");
+    PUSH(base);
+    fword("encode-int");
+    fword("encode+");
+    PUSH(POWER_REGS);
+    fword("encode-int");
+    fword("encode+");
+    push_str("reg");
+    fword("property");
+
+    fword("finish-device");
+}
+
+static void
 ob_macio_init(unsigned int slot, unsigned long base, unsigned long offset)
 {
     // All devices were integrated to NCR89C100, see
@@ -289,7 +315,7 @@
     //ob_bpp_init(base);
 
     // Power management
-    //ob_power_init(base);
+    ob_power_init(slot, POWER_OFFSET);
 }
 
 static void




More information about the OpenBIOS mailing list