Commit Graph

1022 Commits

Author SHA1 Message Date
rkujawa
d8300310a1 Rework handling of Commodore Gayle chip. Avoid ugly struct casts, introduce
proper bus_space accesses and some abstraction layer. All drivers that utilised
Gayle also had to be refactored.

I tried not to break anything more, but this clearly needs more testing...
2014-01-03 00:33:06 +00:00
rkujawa
3eb32fc6e9 Implement the probe procedure for ACA500. Now the user just needs acafh0
compiled in his kernel and it all should(tm) work.

Due to lack of obio in amiga port, the probe is called directly from mbattach().
This is going to change with the introduction of obio for all non-autoconfig
expansions.
2013-12-26 20:38:11 +00:00
rkujawa
7598b3c28a Changes to ACA500 support:
- Add support for second (aux) CF slot.
- Rework wdc attachment to be more sane.
- Add support for clockport on ACA500.
- Fix style where appropriate.
2013-12-22 23:02:38 +00:00
rkujawa
f7bd7656e0 Add preliminary support for the Individual Computers ACA500 in the form of acahf
driver. If ACA500 is equipped with supported accelerator with MMU, it allows
running NetBSD on an Amiga 500.

Since ACA is not autoconf-aware, and the probe procedure does not exist yet, the
driver is activated with the ACA500_SUPPORT kernel option. The acahf driver
is commented out in the GENERIC kernel for now (at least until it stops being
very experimental and hackish).

When it comes to ACA-specific hardware, for now the boot CF slot works. Support for everything else is incoming...
2013-12-22 02:21:51 +00:00
wiz
d860f590d4 Fix typo ("then" instead of "than") 2013-12-09 09:35:16 +00:00
jandberg
178419f12e Fix interrupt handler arg (needs to be softc instead of device_t) 2013-09-23 08:39:28 +00:00
rkujawa
02fe89c482 Add support for X-Surf 100 integrated MII PHY. MAC part seems to be compatible
with AX88190, while PHY itself can be handled by ukphy.
2013-08-13 15:43:25 +00:00
rkujawa
a12d97aa7b Clean up a bit, add debug function to print the register mappings. 2013-08-13 10:43:28 +00:00
rkujawa
081ad628f0 Use the proper NE2000_TYPE for AX88796. 2013-08-11 12:35:18 +00:00
rkujawa
eef8c2bab2 Fix style. 2013-08-09 12:56:31 +00:00
rkujawa
5d79cf93da Add preliminary support for Individual Computers new X-Surf 100 network card. 2013-08-08 21:23:51 +00:00
rkujawa
5bc844d257 Add Thylacine USB Host Controller driver (just a zbus frontend to slhci).
Barely works due to combination of SL811HS brain damagae and our unforgiving
driver. At least most keyboards and mices are good. Of course on amiga WSCONS
kernel is needed to make any use of them.
2013-04-27 22:27:33 +00:00
rkujawa
a25b458635 Remove confusing, leftover comment. 2013-01-27 19:58:04 +00:00
rkujawa
d2a8a7584b Try to make z3rambd less crude. Also support BigRamPlus, FastLane Z3 RAM and
DKB3128.
2012-11-26 22:58:24 +00:00
rkujawa
2505fa9409 Add z3rambd driver, it allows using Zorro III RAM boards as block devices.
This makes sense in machines equipped with RAM on accelerator boards, where
difference between accelerator RAM and Zorro III RAM is significant. Hacks
were needed in amiga_init.c and zbus.c, but they are only enabled if this
driver is present in kernel. Otherwise user will get the usual behaviour.
2012-11-25 23:33:55 +00:00
christos
442672de03 readability fix. 2012-11-25 19:52:05 +00:00
rkujawa
906d076164 Use constants, not magic values. 2012-11-25 19:15:43 +00:00
rkujawa
cde2f36932 Remove confusing comment, misc style. 2012-11-21 22:37:03 +00:00
rkujawa
4daf233dc0 Add X-Surf IDE driver. 2012-11-19 22:36:11 +00:00
rkujawa
41e877e706 Nuke unused clock struct, was used by a2kbbc before conversion to MI msm6242b
driver.
2012-11-14 13:36:02 +00:00
rkujawa
15d04dfed0 The a2kbbc is now based on MI MSM6242B driver. 2012-11-14 01:55:25 +00:00
rkujawa
3b84b9cffd Make Amiga video drivers work again after device/softc changes.
Patch from chs@.
2012-11-08 18:04:56 +00:00
rkujawa
0efb944636 Apparently, clockport present at offset 0xC00 is the first clockport. 2012-10-29 23:45:34 +00:00
phx
742208e873 Fixed receiving of odd-length packets. Driver works now perfectly.
Thanks to Harald Meinzer for providing me with a Hydra for a few days.
2012-10-27 21:13:03 +00:00
chs
cbab9cadce split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
2012-10-27 17:17:22 +00:00
phx
c8ba8ca4a7 CV3DONZORRO2 option is no longer needed.
grf_cv3d.c was successfully tested running in a Zorro2 slot.
2012-10-14 20:33:17 +00:00
phx
4468ae6d60 New ed(4) device driver for Hydra and ASDG Zorro2 bus network cards.
This driver is based on the MI dp8390 backend.
2012-10-14 13:36:07 +00:00
msaitoh
4a418e8c7d Fix typos 2012-08-24 09:01:22 +00:00
bouyer
9edd4d81c5 Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc
cleanup and SATA PMP support), now that I'm back to fix the fallouts.
2012-07-31 15:50:31 +00:00
jakllsch
102f7b2016 Revert, with intention of restoring in a less invasive way, the SATA Port
Multiplier code.

ok christos@
2012-07-26 20:49:44 +00:00
jakllsch
5b9a15ee6c Revert dsl@'s changes of Sun, 15 Jul 2012 10:55:35 +0000 and
Sun, 15 Jul 2012 10:56:50 +0000, excepting the kernel version bump.
First step in reverting regressions to ata(4) subsystem during the addition of
port multiplier support.
2012-07-24 14:04:28 +00:00
dsl
c9fe3ca8c3 Some namespace protection (and add greppablity).
Prefix the DRIVE_ and DRIVET_ constants from atavar.h with ATA_.
Don't use an enum for drive_type - you don't know how big it will be.
Move driver_type to avoid implicit structure padding (esp on arm).
This change is purely lexical and mechanical.

Update to 6.99.9 - this wasn't done when the SATA PMP changes
were made - I'm sure they warranted a bump.
2012-07-15 10:55:27 +00:00
rkujawa
1289b24043 PR port-amiga/46672
Removed surpluss semicolon after if().
2012-07-09 19:34:56 +00:00
bouyer
03c9df05c6 Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
  probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
  really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
  ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
  with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
  University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
  when SATA cable move was needed
2012-07-02 18:15:44 +00:00
rkujawa
9f18d1594f - Split X-Surf driver from if_ne_zbus, rework, add support for clockports present on X-Surf boards.
- Add gencp(4), a driver for generic clockports (it just needs a base address).

Approved by phx.
2012-05-15 17:35:43 +00:00
rkujawa
5317f873b5 Workaround for the fake X-Surf autoconfig entry, created by the Deneb firmware v11. 2012-04-09 19:55:00 +00:00
elad
0c9d8d15c9 Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

    http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
    http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
    http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.
2012-03-13 18:40:26 +00:00
matt
1d7f24ead8 Change old-style function defintions to C89 prototypes.
Approved by releng.
2012-02-12 16:34:06 +00:00
rkujawa
1502adf2fa Tons of enchancements to MD PCI code:
- The G-REX 4000 and G-REX 1200 are now really supported and working (still only 1st slot but the rest are a matter of time).
- Add bridge identification to p5pb, simplifies the driver and make it more user-friendly.
- Retire P5PB_GENFB and P5PB_OLD_FIRMWARE options, these are now handled automatically, depending on used hardware and firmware.
- Add PCI bus reconfiguration support to p5pb (PCI_NETBSD_CONFIGURE), allows using G-REX without boot to AmigaOS.
- Bring p5pb registers desription up to date with my knowledge.
- Add a lot of debugging code to p5pb (enabled by P5PB_DEBUG kernel option).
- Fix PCI_NETBSD_CONFIGURE in mppb (now it really works).
- Fix quirk handling in zbus.
- Update GENERIC.in and regen the kernel configs.
- Misc cleanup.
2012-01-19 00:14:08 +00:00
macallan
449763bb95 adjust wsfont_find() 2012-01-11 21:12:36 +00:00
rkujawa
363ad7afb3 Changes to Phase5 hardware support:
- Rework p5pb driver - simplify, cleanup, make more flexible.
- Add p5membar driver, which handles PCI resources autoconfigured by the firmware.
- Introduce intermediate p5bus layer, between zbus and CSPPC/BPPC on-board devices (p5pb, cbiiisc, bppcsc).
- Add experimental G-REX support to p5pb (first slot support only).
- Split CV64/3D PCI bridge support into separate cv3dpb driver (to be committed later).

Approved by phx.
2012-01-10 20:29:49 +00:00
phx
01173747fc Amiga wscons/Xorg support, first phase.
Implemented wscons for CV64 and CV64/3D. Other graphics cards drivers are
prepared for it, but will not be attempted before Xorg is not running.
The wscons support is disabled by default. A GENERIC kernel should behave
like always. Use WSCONS to try out a kernel with wscons support.
Done by rkujawa@ and phx@.
2011-12-15 14:25:12 +00:00
jmcneill
8a962f23f2 Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From
the original ad-audiomp branch notes:

  Add MP locking to the audio drivers.

  Making the audio drivers MP safe is necessary before efforts
  can be made to make the VM system MP safe.

  The are two locks per device instance, an ISR lock and
  a character device lock. The ISR lock replaces calls to
  splaudio()/splx(), and will be held across calls to device
  methods which were called at splaudio() before (e.g.
  trigger_output). The character device lock is held across
  calls to nearly all of the methods, excluding some only
  used for initialization, e.g. get_locks.

Welcome to 5.99.57.
2011-11-23 23:07:28 +00:00
rkujawa
faff4b1af3 Simplify bus space mapping. 2011-11-05 17:44:25 +00:00
rkujawa
9d89628a47 Improve probe procedure in efa(4). Update man apge to reflect this. 2011-10-30 11:10:42 +00:00
rkujawa
9f8ca4f47e Allow 32-bit transfers for drives which support it. Add missing bus_space methods needed for such transfers. 2011-10-29 19:25:19 +00:00
rkujawa
361194f4ef Fix style (pointed out by phx). 2011-10-29 11:16:19 +00:00
rkujawa
25abb1786a Add driver for ELBOX FastATA 1200 Mk-III/Mk-IV (and the man page). 2011-10-27 22:12:23 +00:00
christos
96c3e77145 no parameter names. 2011-09-21 12:48:57 +00:00
rkujawa
3e2616d8d1 Fix build for both amiga and amigappc (discussed with christos). 2011-09-21 12:40:25 +00:00