Commit Graph

10 Commits

Author SHA1 Message Date
garbled 54ded9290c Make these files compile with -Wextra -Wno-unused 2006-10-30 17:54:29 +00:00
garbled e5bff3e418 A few changes so pnpbus devices can do isadma. Note that isadma still
does not seem to work properly on prep.
2006-10-27 19:52:51 +00:00
garbled 9f65f017a3 Now that the interrupt bug on the 7043-140 is fixed, it also fixes the
long standing issue with interrupts onthe PowerStack E1.  Remove the
quirk entry for the PowerStack E1 and revert to using the IVR.
Also, add a \n to the attachment of the mk clock printf that was missing.
2006-09-07 20:13:05 +00:00
garbled 40bedaf4c8 Add support for rebooting 7024 and 7025 models. Since I cannot figure
out how to properly reboot these machines, instead we make use of the
auto-poweron-alarm time, and power cycle the machine to simulate a
reboot.  This is a hack, but until I get documentation on these machines,
at least you will be able to reboot them.
2006-07-12 21:28:33 +00:00
garbled 17ca05a76f 1) Modify pnpbus attachment code to properly decode pnp memory range packets.
2) Modify pnpbus attachment code to record the chipid of the device if it
   has one.
3) Change the clock probes to use the chipid, rather than relying on
potentially untrustworthy subtype and interface.
4) Add decoding of memory ranges to the RESIDUAL_DUMP code.
5) Add a we@pnpbus device to allow netbooting and root device detection
from an IBM we ethernet.  (it will only work if your firmware detects it)
6) Because I moved the pnpbus probe to occur prior to pci and isa, it
screwed up the root device detection and firmware path building code.
Completely rewrite the fw-path detection code to deal with this.
2006-06-23 03:08:41 +00:00
garbled aa0bc147ae A bit of clock rototill. It's safer to detect things known by the
residual with the pnpbus probes, than it is to do it with raw isa probes,
so I've replaced the isa mkclock and mcclock code with a pnpbus attachment.

While writing the mkclock code, I realized that on motorola prep machines
the mkclock uses the same port range as the nvram part. (it's actually
the same chip/part).  This was causing the nvram not to work on those
machines.  Now the nvram code will recognize this, and wire up the
mkclock as well.  The mkclock probe is just a stub probe used to
pre-detect the fact that this is one of those machines.
2006-06-15 18:15:32 +00:00
garbled 64b69ee83d Support fixes for the Motorola Powerstack E1.
1) The E1 seems to have the int. siop wired to irq 14-level and the internal
   wdc wired to irq 14-edge.  special case and fail the wdc probe on E1's.
2) If we fail to map the NVRAM registers, return, rather than trying to talk
   to them and panic'ing the box.
3) revert my previous "fix" to pnpbus to make irq's default to level.  It
   was wrong, and didn't even fix the powerstack.

With this, we have limited PowerStack E1 support.  The machine cannot
talk to it's IDE controller, and cannot detect it's boot device
automatically, but it does come up and run. Tested with NFS root.
2006-04-26 19:48:01 +00:00
thorpej 2be6494fc9 Use device_cfdata(). 2006-03-29 04:16:44 +00:00
garbled d736b3d508 More changes to prep port:
1) Add the NVRAM device.  This device allows us to speak with the nvram on
prep-based machines and read/write to it.  Also add a simple IOCTL
interface for speaking with the nvram from userland.  This hasn't been
tested yet, but eventually I plan to support it with the sparc eeprom
command.
2) Change the root device detection to use the nvram device to attempt to
guess the boot device.  Most machines should now correctly guess thier
boot device, though I expect a few devices to still not work quite right yet.
3) change the default IRQ to level rather than edge in the pnpbus if the
flags are invalid or empty. (based on output from a PowerStack E1)
4) correctly handle older machines in pnpbus that have FixedIOPorts
rather than variable ones.

Still have much to do.
2006-03-16 17:43:34 +00:00
garbled 1dd8b98704 Prep super-commit:
1) create new pnpbus psuedo bus.  This is a bus layer that reads the PNP
tree from the residual data and allows attachment of devices with the
information given therein.  Based loosely on i386/pnpbios.

2) Delete obio bus, as with the pnp bus we no longer need it.

3) Create a number of functions that gather the information needed to set
up the machine from the residual data, rather than hardcoding it in.

4) Create a quirk table for machines that are bizzare enough that the
residual information is not sufficient.  (such as the 6015)

5) Using the data gathering routines and the quirk table, delete struct
platform completely from the architecture.  Prep is now almost completely
dynamic in figuring out the machine it is running on and setting things
up properly.

6) Add a wdc_pnpbus driver which attaches the wdc controller found on
some 7248's and the 6015.  This replaces the now-defunct wdc_obio.

7) delete all the mot_* and ibm_* files, and replace them with a single
ibm_machdep.c which only contains the quirk functions for the 6015 and
the 6050.

8) Modify GENERIC to work with all this stuff.
2006-03-09 20:17:27 +00:00