Module Name: src Committed By: rkujawa Date: Tue Apr 17 09:59:03 UTC 2012
Modified Files: src/sys/arch/amiga/amiga: autoconf.c src/sys/arch/amiga/conf: GENERIC.in files.amiga Added Files: src/sys/arch/amiga/clockport: a1k2cp.c clockport.c clockport_common.c clockportvar.h com_ss.c files.clockport Log Message: Add clockport(4) layer, which provides support for expansion bus present on Amiga-style clockports. Also add a1k2cp(4) backend driver and the first clockport device driver com_ss, that supports com(4) on clockport(4) (particurarly Individual Computers SilverSurfer). Disabled by default, since probe procedure is not written yet. To generate a diff of this commit: cvs rdiff -u -r1.110 -r1.111 src/sys/arch/amiga/amiga/autoconf.c cvs rdiff -u -r0 -r1.1 src/sys/arch/amiga/clockport/a1k2cp.c \ src/sys/arch/amiga/clockport/clockport.c \ src/sys/arch/amiga/clockport/clockport_common.c \ src/sys/arch/amiga/clockport/clockportvar.h \ src/sys/arch/amiga/clockport/com_ss.c \ src/sys/arch/amiga/clockport/files.clockport cvs rdiff -u -r1.97 -r1.98 src/sys/arch/amiga/conf/GENERIC.in cvs rdiff -u -r1.154 -r1.155 src/sys/arch/amiga/conf/files.amiga Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amiga/amiga/autoconf.c diff -u src/sys/arch/amiga/amiga/autoconf.c:1.110 src/sys/arch/amiga/amiga/autoconf.c:1.111 --- src/sys/arch/amiga/amiga/autoconf.c:1.110 Sun Feb 12 16:34:06 2012 +++ src/sys/arch/amiga/amiga/autoconf.c Tue Apr 17 09:59:03 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.110 2012/02/12 16:34:06 matt Exp $ */ +/* $NetBSD: autoconf.c,v 1.111 2012/04/17 09:59:03 rkujawa Exp $ */ /* * Copyright (c) 1994 Christian E. Hopps @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.110 2012/02/12 16:34:06 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.111 2012/04/17 09:59:03 rkujawa Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -295,6 +295,8 @@ mbattach(device_t pdp, device_t dp, void config_found(dp, __UNCONST("ahsc"), simple_devprint); if (is_a600() || is_a1200()) config_found(dp, __UNCONST("pccard"), simple_devprint); + if (is_a1200()) + config_found(dp, __UNCONST("a1k2cp"), simple_devprint); #ifdef DRACO if (!is_draco()) #endif Index: src/sys/arch/amiga/conf/GENERIC.in diff -u src/sys/arch/amiga/conf/GENERIC.in:1.97 src/sys/arch/amiga/conf/GENERIC.in:1.98 --- src/sys/arch/amiga/conf/GENERIC.in:1.97 Sat Mar 10 21:51:49 2012 +++ src/sys/arch/amiga/conf/GENERIC.in Tue Apr 17 09:59:03 2012 @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC.in,v 1.97 2012/03/10 21:51:49 joerg Exp $ +# $NetBSD: GENERIC.in,v 1.98 2012/04/17 09:59:03 rkujawa Exp $ # ## # GENERIC machine description file @@ -52,7 +52,7 @@ include "arch/amiga/conf/std.amiga" options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident "GENERIC-$Revision: 1.97 $" +#ident "GENERIC-$Revision: 1.98 $" m4_ifdef(`INSTALL_CONFIGURATION', `m4_dnl makeoptions COPTS="-Os" @@ -415,6 +415,11 @@ a2kbbc0 at mainbus0 # A2000 battery ba m4_ifdef(`INSTALL_CONFIGURATION', `', `m4_dnl aucc* at mainbus0 # Amiga CC audio audio* at aucc? + +#a1k2cp0 at mainbus0 # A1200 on-board clockport +#clockport* at a1k2cp0 + +#com* at clockport? # Individual Computers SilverSurfer ')m4_dnl ')m4_dnl Index: src/sys/arch/amiga/conf/files.amiga diff -u src/sys/arch/amiga/conf/files.amiga:1.154 src/sys/arch/amiga/conf/files.amiga:1.155 --- src/sys/arch/amiga/conf/files.amiga:1.154 Tue Jan 24 00:19:39 2012 +++ src/sys/arch/amiga/conf/files.amiga Tue Apr 17 09:59:03 2012 @@ -1,4 +1,4 @@ -# $NetBSD: files.amiga,v 1.154 2012/01/24 00:19:39 rkujawa Exp $ +# $NetBSD: files.amiga,v 1.155 2012/04/17 09:59:03 rkujawa Exp $ # maxpartitions must be first item in files.${ARCH}.newconf maxpartitions 16 # NOTE THAT AMIGA IS SPECIAL! @@ -527,5 +527,7 @@ attach cv3dpb at zbus include "dev/i2o/files.i2o" include "dev/pci/files.pci" +include "arch/amiga/clockport/files.clockport" + include "arch/amiga/conf/majors.amiga" Added files: Index: src/sys/arch/amiga/clockport/a1k2cp.c diff -u /dev/null src/sys/arch/amiga/clockport/a1k2cp.c:1.1 --- /dev/null Tue Apr 17 09:59:03 2012 +++ src/sys/arch/amiga/clockport/a1k2cp.c Tue Apr 17 09:59:03 2012 @@ -0,0 +1,109 @@ +/* $NetBSD: a1k2cp.c,v 1.1 2012/04/17 09:59:03 rkujawa Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Radoslaw Kujawa. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Driver for A1200 on-board clockport. */ + +#include <sys/cdefs.h> + +#include <sys/systm.h> +#include <sys/types.h> +#include <sys/device.h> +#include <sys/bus.h> +#include <sys/conf.h> +#include <sys/kmem.h> + +#include <machine/cpu.h> + +#include <amiga/amiga/device.h> + +#include <amiga/dev/zbusvar.h> + +#include <amiga/clockport/clockportvar.h> + +/* #define A1K2CP_DEBUG 1 */ + +#define A1K2CP_BASE 0xD80001 + +static int a1k2cp_match(struct device *pdp, struct cfdata *cfp, void *aux); +static void a1k2cp_attach(device_t parent, device_t self, void *aux); + +struct a1k2cp_softc { + device_t sc_dev; +}; + +CFATTACH_DECL_NEW(a1k2cp, sizeof(struct a1k2cp_softc), + a1k2cp_match, a1k2cp_attach, NULL, NULL); + +static int +a1k2cp_match(struct device *pdp, struct cfdata *cfp, void *aux) +{ + + static int a1k2cp_matched = 0; + + if (!matchname("a1k2cp", aux)) + return 0; + + if (a1k2cp_matched) + return 0; + + if (!is_a1200()) + return 0; + + a1k2cp_matched = 1; + return 1; +} + +static void +a1k2cp_attach(device_t parent, device_t self, void *aux) +{ + struct a1k2cp_softc *sc; + struct clockportbus_attach_args a1k2cp_aa; + struct bus_space_tag a1k2cp_bst; + + sc = device_private(self); + sc->sc_dev = self; + + aprint_normal(": A1200 on-board clockport\n"); + + a1k2cp_bst.base = (bus_addr_t) __UNVOLATILE(ztwomap(A1K2CP_BASE)); + a1k2cp_bst.absm = &amiga_bus_stride_4; + + a1k2cp_aa.cp_iot = &a1k2cp_bst; + a1k2cp_aa.cp_intr_establish = clockport_generic_intr_establish; + +#ifdef A1K2CP_DEBUG + aprint_normal_dev(sc->sc_dev, "pa %d va %p", + A1K2CP_BASE, (void*) a1k2cp_bst.base); +#endif /* A1K2CP_DEBUG */ + + config_found(sc->sc_dev, &a1k2cp_aa, 0); +} + Index: src/sys/arch/amiga/clockport/clockport.c diff -u /dev/null src/sys/arch/amiga/clockport/clockport.c:1.1 --- /dev/null Tue Apr 17 09:59:03 2012 +++ src/sys/arch/amiga/clockport/clockport.c Tue Apr 17 09:59:03 2012 @@ -0,0 +1,100 @@ +/* $NetBSD: clockport.c,v 1.1 2012/04/17 09:59:03 rkujawa Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Radoslaw Kujawa. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/cdefs.h> + +#include <sys/param.h> +#include <sys/device.h> +#include <sys/termios.h> + +#include <sys/bus.h> +#include <sys/intr.h> + +#include <amiga/clockport/clockportvar.h> + +static int clockport_match(device_t, cfdata_t , void *); +static void clockport_attach(device_t, device_t, void *); +static int clockport_print(struct clockport_attach_args *a, + const char *str); +static int clockport_submatch(device_t cpbus, cfdata_t dev, + const int *ldesc, void *aux); + +CFATTACH_DECL_NEW(clockport, sizeof(struct clockportbus_softc), + clockport_match, clockport_attach, NULL, NULL); + +static int +clockport_match(device_t parent, cfdata_t cf, void *aux) +{ + return 1; +} + +static void +clockport_attach(device_t parent, device_t self, void *aux) +{ + struct clockportbus_softc *sc; + + sc = (struct clockportbus_softc *) self; + sc->cpb_aa = (struct clockportbus_attach_args *) aux; + + config_search_ia(clockport_submatch, self, "clockport", 0); +} + +static int +clockport_submatch(device_t cpbus, cfdata_t dev, const int *ldesc, void *aux) +{ + struct clockportbus_softc *sc; + struct clockport_attach_args a; + + sc = device_private(cpbus); + + /* XXX: copy bus_space_tag and intr routine for now... */ + a.cp_iot = sc->cpb_aa->cp_iot; + a.cp_intr_establish = sc->cpb_aa->cp_intr_establish; + + if(config_match(cpbus, dev, &a)) { + config_attach(cpbus, dev, &a, (cfprint_t) clockport_print); + return 1; + } + + return 0; +} + +static int +clockport_print(struct clockport_attach_args *a, const char *str) +{ + if (str == NULL) + return 0; + + printf("%s ", str); + + return 0; +} + Index: src/sys/arch/amiga/clockport/clockport_common.c diff -u /dev/null src/sys/arch/amiga/clockport/clockport_common.c:1.1 --- /dev/null Tue Apr 17 09:59:03 2012 +++ src/sys/arch/amiga/clockport/clockport_common.c Tue Apr 17 09:59:03 2012 @@ -0,0 +1,65 @@ +/* $NetBSD: clockport_common.c,v 1.1 2012/04/17 09:59:03 rkujawa Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Radoslaw Kujawa. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Routines for generic clockports, shared among all backend drivers. + * TODO: implement clockport_intr_disestablish. + */ + +#include <sys/cdefs.h> + +#include <sys/systm.h> +#include <sys/types.h> +#include <sys/bus.h> +#include <sys/kmem.h> + +#include <machine/cpu.h> + +#include <amiga/clockport/clockportvar.h> + +#define CLOCKPORT_GENERIC_IPL 6 + +void * +clockport_generic_intr_establish(int (*isr)(void *), void *arg) +{ + struct isr *sc_isr; + + sc_isr = kmem_alloc(sizeof(struct isr), KM_SLEEP); + + sc_isr->isr_intr = isr; + sc_isr->isr_arg = arg; + sc_isr->isr_ipl = CLOCKPORT_GENERIC_IPL; + + add_isr(sc_isr); + + return sc_isr; +} + Index: src/sys/arch/amiga/clockport/clockportvar.h diff -u /dev/null src/sys/arch/amiga/clockport/clockportvar.h:1.1 --- /dev/null Tue Apr 17 09:59:03 2012 +++ src/sys/arch/amiga/clockport/clockportvar.h Tue Apr 17 09:59:03 2012 @@ -0,0 +1,53 @@ +/* $NetBSD: clockportvar.h,v 1.1 2012/04/17 09:59:03 rkujawa Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Radoslaw Kujawa. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/types.h> + +struct clockportbus_softc { + struct clockportbus_attach_args *cpb_aa; +}; + +struct clockportbus_attach_args { + + bus_space_tag_t cp_iot; + + void *(*cp_intr_establish)(int (*)(void *), void *); +}; + +struct clockport_attach_args { + + bus_space_tag_t cp_iot; + + void *(*cp_intr_establish)(int (*)(void *), void *); +}; + +void *clockport_generic_intr_establish(int (*)(void *), void *); + Index: src/sys/arch/amiga/clockport/com_ss.c diff -u /dev/null src/sys/arch/amiga/clockport/com_ss.c:1.1 --- /dev/null Tue Apr 17 09:59:03 2012 +++ src/sys/arch/amiga/clockport/com_ss.c Tue Apr 17 09:59:03 2012 @@ -0,0 +1,81 @@ +/* $NetBSD: com_ss.c,v 1.1 2012/04/17 09:59:03 rkujawa Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Radoslaw Kujawa. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Driver for Individual Computers SilverSurfer. */ + +#include <sys/cdefs.h> + +#include <sys/param.h> +#include <sys/device.h> +#include <sys/termios.h> + +#include <sys/bus.h> +#include <sys/intr.h> + +#include <dev/ic/comreg.h> +#include <dev/ic/comvar.h> + +#include <amiga/clockport/clockportvar.h> + +#define COM_SS_REGS 8 + +static int com_ss_probe(device_t, cfdata_t , void *); +static void com_ss_attach(device_t, device_t, void *); + +CFATTACH_DECL_NEW(com_ss, sizeof(struct com_softc), + com_ss_probe, com_ss_attach, NULL, NULL); + +static int +com_ss_probe(device_t parent, cfdata_t cf, void *aux) +{ + return 1; /* TODO: implement probe */ +} + +static void +com_ss_attach(device_t parent, device_t self, void *aux) +{ + struct com_softc *sc = device_private(self); + struct clockport_attach_args *caa = aux; + + bus_space_handle_t ioh; + + sc->sc_dev = self; + sc->sc_frequency = COM_FREQ; + + bus_space_map(caa->cp_iot, 0, COM_SS_REGS, 0, &ioh); + + COM_INIT_REGS(sc->sc_regs, caa->cp_iot, ioh, 0 /* off */); + + com_attach_subr(sc); + + caa->cp_intr_establish(comintr, sc); +} + Index: src/sys/arch/amiga/clockport/files.clockport diff -u /dev/null src/sys/arch/amiga/clockport/files.clockport:1.1 --- /dev/null Tue Apr 17 09:59:03 2012 +++ src/sys/arch/amiga/clockport/files.clockport Tue Apr 17 09:59:03 2012 @@ -0,0 +1,26 @@ +# $NetBSD: files.clockport,v 1.1 2012/04/17 09:59:03 rkujawa Exp $ + +define clockportbus {} + +define clockport_common +file arch/amiga/clockport/clockport_common.c clockport_generic + +# A1200 clockport +device a1k2cp: clockportbus, clockport_common +attach a1k2cp at mainbus +file arch/amiga/clockport/a1k2cp.c a1k2cp + +device clockport {} +attach clockport at clockportbus +file arch/amiga/clockport/clockport.c clockport + +# Individual Computers SilverSurfer serial +#device com +attach com at clockport with com_ss +file arch/amiga/clockport/com_ss.c + +# TODO: We should support for generic clockports, like: +# device obio at mainbus {[address = -1]} +# device gencp +# attach gencp at obio +