Module Name: src
Committed By: tsutsui
Date: Sun Jun 30 05:04:49 UTC 2019
Modified Files:
src/sys/arch/luna68k/dev: if_le.c lcd.c lunafb.c omrasopsvar.h xp.c
src/sys/arch/luna68k/luna68k: locore.s machdep.c
src/sys/arch/luna68k/stand/boot: autoconf.c bmd.c getsecs.c if_le.c
sio.c
Added Files:
src/sys/arch/luna68k/include: board.h
Log Message:
Pull OpenBSD/luna88k board.h to define SX9100 board device addresses.
Also replace magic addresses with macro where appropriate.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/luna68k/dev/if_le.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/luna68k/dev/lcd.c
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/luna68k/dev/lunafb.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/luna68k/dev/omrasopsvar.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/luna68k/dev/xp.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/luna68k/include/board.h
cvs rdiff -u -r1.63 -r1.64 src/sys/arch/luna68k/luna68k/locore.s
cvs rdiff -u -r1.102 -r1.103 src/sys/arch/luna68k/luna68k/machdep.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/luna68k/stand/boot/autoconf.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/luna68k/stand/boot/bmd.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/luna68k/stand/boot/getsecs.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/luna68k/stand/boot/if_le.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/luna68k/stand/boot/sio.c
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/luna68k/dev/if_le.c
diff -u src/sys/arch/luna68k/dev/if_le.c:1.8 src/sys/arch/luna68k/dev/if_le.c:1.9
--- src/sys/arch/luna68k/dev/if_le.c:1.8 Sun Jun 30 02:11:56 2019
+++ src/sys/arch/luna68k/dev/if_le.c Sun Jun 30 05:04:48 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_le.c,v 1.8 2019/06/30 02:11:56 tsutsui Exp $ */
+/* $NetBSD: if_le.c,v 1.9 2019/06/30 05:04:48 tsutsui Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -73,7 +73,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: if_le.c,v 1.8 2019/06/30 02:11:56 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_le.c,v 1.9 2019/06/30 05:04:48 tsutsui Exp $");
#include "opt_inet.h"
@@ -94,6 +94,7 @@ __KERNEL_RCSID(0, "$NetBSD: if_le.c,v 1.
#include <machine/cpu.h>
#include <machine/autoconf.h>
+#include <machine/board.h>
#include <luna68k/luna68k/isr.h>
@@ -104,6 +105,9 @@ __KERNEL_RCSID(0, "$NetBSD: if_le.c,v 1.
#include "ioconf.h"
+#define TRI_PORT_RAM_LANCE_OFFSET 0x10000 /* first 64KB is used by XP */
+#define TRI_PORT_RAM_LANCE_SIZE 0x10000 /* 64KB */
+
/*
* LANCE registers.
*/
@@ -178,10 +182,10 @@ le_attach(device_t parent, device_t self
/* Map control registers. */
lesc->sc_r1 = (struct lereg1 *)ma->ma_addr; /* LANCE */
- sc->sc_mem = (void *)0x71010000; /* SRAM */
+ sc->sc_mem = (void *)(TRI_PORT_RAM + TRI_PORT_RAM_LANCE_OFFSET);
sc->sc_conf3 = LE_C3_BSWP;
sc->sc_addr = (u_long)sc->sc_mem & 0xffffff;
- sc->sc_memsize = 64 * 1024; /* 64KB */
+ sc->sc_memsize = TRI_PORT_RAM_LANCE_SIZE;
myetheraddr(sc->sc_enaddr);
Index: src/sys/arch/luna68k/dev/lcd.c
diff -u src/sys/arch/luna68k/dev/lcd.c:1.10 src/sys/arch/luna68k/dev/lcd.c:1.11
--- src/sys/arch/luna68k/dev/lcd.c:1.10 Sun Jun 30 02:11:56 2019
+++ src/sys/arch/luna68k/dev/lcd.c Sun Jun 30 05:04:48 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: lcd.c,v 1.10 2019/06/30 02:11:56 tsutsui Exp $ */
+/* $NetBSD: lcd.c,v 1.11 2019/06/30 05:04:48 tsutsui Exp $ */
/* $OpenBSD: lcd.c,v 1.7 2015/02/10 22:42:35 miod Exp $ */
/*-
@@ -32,7 +32,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: lcd.c,v 1.10 2019/06/30 02:11:56 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lcd.c,v 1.11 2019/06/30 05:04:48 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -43,6 +43,7 @@ __KERNEL_RCSID(0, "$NetBSD: lcd.c,v 1.10
#include <sys/errno.h>
#include <machine/autoconf.h>
+#include <machine/board.h>
#include <machine/cpu.h>
#include <machine/lcd.h>
@@ -280,7 +281,7 @@ lcdioctl(dev_t dev, u_long cmd, void *ad
void
lcdbusywait(void)
{
- struct pio *p1 = (struct pio *)0x4D000000;
+ struct pio *p1 = (struct pio *)OBIO_PIO1_BASE;
int msb, s;
s = splhigh();
@@ -301,7 +302,7 @@ lcdbusywait(void)
void
lcdput(int cc)
{
- struct pio *p1 = (struct pio *)0x4D000000;
+ struct pio *p1 = (struct pio *)OBIO_PIO1_BASE;
int s;
lcdbusywait();
@@ -318,7 +319,7 @@ lcdput(int cc)
void
lcdctrl(int cc)
{
- struct pio *p1 = (struct pio *)0x4D000000;
+ struct pio *p1 = (struct pio *)OBIO_PIO1_BASE;
int s;
lcdbusywait();
Index: src/sys/arch/luna68k/dev/lunafb.c
diff -u src/sys/arch/luna68k/dev/lunafb.c:1.38 src/sys/arch/luna68k/dev/lunafb.c:1.39
--- src/sys/arch/luna68k/dev/lunafb.c:1.38 Sun Jun 30 02:11:56 2019
+++ src/sys/arch/luna68k/dev/lunafb.c Sun Jun 30 05:04:48 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: lunafb.c,v 1.38 2019/06/30 02:11:56 tsutsui Exp $ */
+/* $NetBSD: lunafb.c,v 1.39 2019/06/30 05:04:48 tsutsui Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: lunafb.c,v 1.38 2019/06/30 02:11:56 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lunafb.c,v 1.39 2019/06/30 05:04:48 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -74,10 +74,10 @@ struct bt458 {
uint8_t pad3[3];
};
-#define OMFB_RFCNT 0xB1000000 /* video h-origin/v-origin */
-#define OMFB_RAMDAC 0xC1100000 /* Bt454/Bt458 RAMDAC */
+#define OMFB_RFCNT BMAP_RFCNT /* video h-origin/v-origin */
+#define OMFB_RAMDAC BMAP_PALLET2 /* Bt454/Bt458 RAMDAC */
-#define OMFB_SIZE (0xB1300000 - 0xB1080000 + PAGE_SIZE)
+#define OMFB_SIZE (BMAP_FN0 - BMAP_BMP + PAGE_SIZE)
struct hwcmap {
#define CMAP_SIZE 256
Index: src/sys/arch/luna68k/dev/omrasopsvar.h
diff -u src/sys/arch/luna68k/dev/omrasopsvar.h:1.3 src/sys/arch/luna68k/dev/omrasopsvar.h:1.4
--- src/sys/arch/luna68k/dev/omrasopsvar.h:1.3 Sat Oct 4 16:58:17 2014
+++ src/sys/arch/luna68k/dev/omrasopsvar.h Sun Jun 30 05:04:48 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: omrasopsvar.h,v 1.3 2014/10/04 16:58:17 tsutsui Exp $ */
+/* $NetBSD: omrasopsvar.h,v 1.4 2019/06/30 05:04:48 tsutsui Exp $ */
/*
* Copyright (c) 2013 Kenji Aoyama
*
@@ -20,10 +20,12 @@
* XXX: We consider only 1bpp and 4bpp for now
*/
-#define OMFB_PLANEMASK 0xB1040000 /* BMSEL register */
-#define OMFB_FB_WADDR 0xB1080008 /* common plane */
-#define OMFB_FB_RADDR 0xB10C0008 /* plane #0 */
-#define OMFB_ROPFUNC 0xB12C0000 /* common ROP function */
+#include <machine/board.h>
+
+#define OMFB_PLANEMASK BMAP_BMSEL /* BMSEL register */
+#define OMFB_FB_WADDR (BMAP_BMP + 8) /* common plane */
+#define OMFB_FB_RADDR (BMAP_BMAP0 + 8)/* plane #0 */
+#define OMFB_ROPFUNC BMAP_FN /* common ROP function */
/*
* Helper macros
Index: src/sys/arch/luna68k/dev/xp.c
diff -u src/sys/arch/luna68k/dev/xp.c:1.4 src/sys/arch/luna68k/dev/xp.c:1.5
--- src/sys/arch/luna68k/dev/xp.c:1.4 Thu Jun 1 02:45:06 2017
+++ src/sys/arch/luna68k/dev/xp.c Sun Jun 30 05:04:48 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: xp.c,v 1.4 2017/06/01 02:45:06 chs Exp $ */
+/* $NetBSD: xp.c,v 1.5 2019/06/30 05:04:48 tsutsui Exp $ */
/*-
* Copyright (c) 2016 Izumi Tsutsui. All rights reserved.
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xp.c,v 1.4 2017/06/01 02:45:06 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xp.c,v 1.5 2019/06/30 05:04:48 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -42,13 +42,16 @@ __KERNEL_RCSID(0, "$NetBSD: xp.c,v 1.4 2
#include <uvm/uvm_extern.h>
#include <machine/autoconf.h>
+#include <machine/board.h>
#include <machine/xpio.h>
#include "ioconf.h"
-#define XP_SHM_BASE 0x71000000
+#define TRI_PORT_RAM_XP_OFFSET 0x00000
+
+#define XP_SHM_BASE (TRI_PORT_RAM + TRI_PORT_RAM_XP_OFFSET)
#define XP_SHM_SIZE 0x00010000 /* 64KB for XP; rest 64KB for lance */
-#define XP_TAS_ADDR 0x61000000
+#define XP_TAS_ADDR OBIO_TAS
struct xp_softc {
device_t sc_dev;
@@ -105,7 +108,7 @@ static bool xp_matched;
*
* XXX: PIO port functions should be shared with machdep.c for DIP SWs
*/
-#define PIO_ADDR 0x49000000
+#define PIO_ADDR OBIO_PIO0_BASE
#define PORT_A 0
#define PORT_B 1
#define PORT_C 2
Index: src/sys/arch/luna68k/luna68k/locore.s
diff -u src/sys/arch/luna68k/luna68k/locore.s:1.63 src/sys/arch/luna68k/luna68k/locore.s:1.64
--- src/sys/arch/luna68k/luna68k/locore.s:1.63 Wed Dec 19 13:57:47 2018
+++ src/sys/arch/luna68k/luna68k/locore.s Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.63 2018/12/19 13:57:47 maxv Exp $ */
+/* $NetBSD: locore.s,v 1.64 2019/06/30 05:04:49 tsutsui Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -50,6 +50,7 @@
#include "assym.h"
#include <machine/asm.h>
#include <machine/trap.h>
+#include <machine/board.h>
#include "ksyms.h"
@@ -116,13 +117,13 @@ ASENTRY_NOPROFILE(start)
RELOC(lowram,%a0)
movl %a5,%a0@ | store start of physical memory
- movl #0x41000000,%a0 | available memory in bytes
+ movl #PROM_ADDR,%a0 | available memory in bytes
movl %a0@(12),%a0 | (int *)base[3])
movl %a0@,%d5
RELOC(memavail,%a0)
movl %d5,%a0@ | save memavail
- movl #0x41000000,%a0 | planemask; 0x0f or 0xff
+ movl #PROM_ADDR,%a0 | planemask; 0x0f or 0xff
movl %a0@(184),%a0 | (int *)base[46]
movl %a0@,%d5
RELOC(hwplanemask,%a0)
@@ -157,7 +158,7 @@ Lstart0:
* save argument of 'x' command on boot per machine type
* XXX: assume CPU_68040 is LUNA-II
*/
- movl #0x41000000,%a0
+ movl #PROM_ADDR,%a0
cmpl #CPU_68040,%d0 | 68040?
jne 1f | no, assume 68030 LUNA
movl %a0@(8),%a0 | arg at (char *)base[2] on LUNA-II
@@ -644,9 +645,9 @@ ENTRY_NOPROFILE(intrhand_vectored)
#if 1 /* XXX wild timer -- how can I disable/enable the interrupt? */
ENTRY_NOPROFILE(lev5intr)
addql #1,_C_LABEL(idepth)
- btst #7,0x63000000 | check whether system clock
+ btst #7,OBIO_CLOCK | check whether system clock
beq 1f
- movb #1,0x63000000 | clear the interrupt
+ movb #1,OBIO_CLOCK | clear the interrupt
tstl _C_LABEL(clock_enable) | is hardclock() available?
jeq 1f
INTERRUPT_SAVEREG
@@ -887,7 +888,7 @@ Lbootcommon:
movl #0,%d3
movc %d3,%vbr | monitor %vbr
- movl #0x41000000,%a0 | base = (int **)0x4100.0000
+ movl #PROM_ADDR,%a0 | base = (int **)0x4100.0000
movl %a0@,%d0 | *((int *)base[0])
movc %d0,%isp | set initial stack pointer
movc %d0,%msp | set initial stack pointer
Index: src/sys/arch/luna68k/luna68k/machdep.c
diff -u src/sys/arch/luna68k/luna68k/machdep.c:1.102 src/sys/arch/luna68k/luna68k/machdep.c:1.103
--- src/sys/arch/luna68k/luna68k/machdep.c:1.102 Mon Sep 3 16:29:25 2018
+++ src/sys/arch/luna68k/luna68k/machdep.c Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.102 2018/09/03 16:29:25 riastradh Exp $ */
+/* $NetBSD: machdep.c,v 1.103 2019/06/30 05:04:49 tsutsui Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.102 2018/09/03 16:29:25 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.103 2019/06/30 05:04:49 tsutsui Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@@ -76,6 +76,7 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v
#include <sys/sysctl.h>
#include <machine/bootinfo.h>
+#include <machine/board.h>
#include <machine/cpu.h>
#include <machine/reg.h>
#include <machine/pcb.h>
@@ -156,7 +157,7 @@ int delay_divisor = 30; /* for delay() l
void
luna68k_init(void)
{
- volatile uint8_t *pio0 = (void *)0x49000000;
+ volatile uint8_t *pio0 = (void *)OBIO_PIO0_BASE;
int sw1, i;
char *cp;
extern char bootarg[64];
@@ -460,7 +461,7 @@ haltsys:
/* Finally, halt/reboot the system. */
if ((howto & RB_POWERDOWN) == RB_POWERDOWN) {
- volatile uint8_t *pio = (void *)0x4d000000;
+ volatile uint8_t *pio = (void *)OBIO_PIO1_BASE;
printf("power is going down.\n");
DELAY(100000);
@@ -856,7 +857,7 @@ struct consdev romcons = {
CN_DEAD,
};
-#define __ ((int **)0x41000000)
+#define __ ((int **)PROM_ADDR)
#define GETC() (*(int (*)())__[6])()
#define PUTC(x) (*(void (*)())__[7])(x)
Index: src/sys/arch/luna68k/stand/boot/autoconf.c
diff -u src/sys/arch/luna68k/stand/boot/autoconf.c:1.10 src/sys/arch/luna68k/stand/boot/autoconf.c:1.11
--- src/sys/arch/luna68k/stand/boot/autoconf.c:1.10 Fri Jan 10 11:12:03 2014
+++ src/sys/arch/luna68k/stand/boot/autoconf.c Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: autoconf.c,v 1.10 2014/01/10 11:12:03 tsutsui Exp $ */
+/* $NetBSD: autoconf.c,v 1.11 2019/06/30 05:04:49 tsutsui Exp $ */
/*-
* Copyright (c) 2013 Izumi Tsutsui. All rights reserved.
@@ -24,6 +24,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <machine/board.h>
#include <machine/cpu.h>
#include <luna68k/stand/boot/samachdep.h>
@@ -32,11 +33,11 @@ find_devs(void)
{
/* find and init devices */
- scinit(0, (uint8_t *)0xe1000000);
+ scinit(0, (uint8_t *)SCSI_ADDR);
if (machtype == LUNA_II) {
- scinit(1, (uint8_t *)0xe1000040);
+ scinit(1, (uint8_t *)SCSI_2_ADDR);
}
- if (!badaddr((void *)0xf1000000)) {
- leinit(0, (uint8_t *)0xf1000000);
+ if (!badaddr((void *)LANCE_ADDR)) {
+ leinit(0, (uint8_t *)LANCE_ADDR);
}
}
Index: src/sys/arch/luna68k/stand/boot/bmd.c
diff -u src/sys/arch/luna68k/stand/boot/bmd.c:1.7 src/sys/arch/luna68k/stand/boot/bmd.c:1.8
--- src/sys/arch/luna68k/stand/boot/bmd.c:1.7 Sat Feb 14 06:31:31 2015
+++ src/sys/arch/luna68k/stand/boot/bmd.c Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: bmd.c,v 1.7 2015/02/14 06:31:31 tsutsui Exp $ */
+/* $NetBSD: bmd.c,v 1.8 2019/06/30 05:04:49 tsutsui Exp $ */
/*
* Copyright (c) 1992 OMRON Corporation.
@@ -79,6 +79,7 @@
#include <sys/param.h>
#include <luna68k/stand/boot/samachdep.h>
+#include <machine/board.h>
/*
* RFCNT register
@@ -98,6 +99,8 @@ union bmd_rfcnt {
* Width & Height
*/
+#define BMAP_OFFSET 8
+
#define PB_WIDTH 2048 /* Plane Width (Bit) */
#define PB_HEIGHT 1024 /* Plane Hight (Bit) */
#define PL_WIDTH 64 /* Plane Width (long) */
@@ -282,8 +285,8 @@ bmd_escape_1(int c)
void
bmdinit(void)
{
- volatile uint32_t *bmd_rfcnt = (uint32_t *)0xB1000000;
- volatile uint32_t *bmd_bmsel = (uint32_t *)0xB1040000;
+ volatile uint32_t *bmd_rfcnt = (uint32_t *)BMAP_RFCNT;
+ volatile uint32_t *bmd_bmsel = (uint32_t *)BMAP_BMSEL;
struct bmd_softc *bp = &bmd_softc;
struct bmd_linec *bq;
int i;
@@ -294,9 +297,9 @@ bmdinit(void)
*/
/* plane-0 hardware address */
- bp->bc_raddr = (uint8_t *)0xB10C0008;
+ bp->bc_raddr = (uint8_t *)(BMAP_BMAP0 + BMAP_OFFSET);
/* common bitmap hardware address */
- bp->bc_waddr = (uint8_t *)0xB1080008;
+ bp->bc_waddr = (uint8_t *)(BMAP_BMP + BMAP_OFFSET);
rfcnt.p.rfc_hcnt = 7; /* shift left 16 dot */
rfcnt.p.rfc_vcnt = -27; /* shift down 1 dot */
@@ -339,7 +342,7 @@ bmdinit(void)
void
bmdadjust(int16_t hcnt, int16_t vcnt)
{
- volatile uint32_t *bmd_rfcnt = (uint32_t *)0xB1000000;
+ volatile uint32_t *bmd_rfcnt = (uint32_t *)BMAP_RFCNT;
union bmd_rfcnt rfcnt;
printf("bmdadjust: hcnt = %d, vcnt = %d\n", hcnt, vcnt);
Index: src/sys/arch/luna68k/stand/boot/getsecs.c
diff -u src/sys/arch/luna68k/stand/boot/getsecs.c:1.2 src/sys/arch/luna68k/stand/boot/getsecs.c:1.3
--- src/sys/arch/luna68k/stand/boot/getsecs.c:1.2 Fri Nov 21 01:16:04 2014
+++ src/sys/arch/luna68k/stand/boot/getsecs.c Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: getsecs.c,v 1.2 2014/11/21 01:16:04 christos Exp $ */
+/* $NetBSD: getsecs.c,v 1.3 2019/06/30 05:04:49 tsutsui Exp $ */
/*-
* Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -30,6 +30,7 @@
*/
#include <machine/cpu.h>
+#include <machine/board.h>
#include <lib/libkern/libkern.h>
#include <lib/libsa/stand.h>
@@ -46,7 +47,7 @@ getsecs(void)
volatile uint8_t *mclock;
u_int t;
- mclock = (volatile uint8_t *)0x45000000;
+ mclock = (volatile uint8_t *)OBIO_CLOCK_BASE;
if (machtype == LUNA_I) {
mclock += 2040;
Index: src/sys/arch/luna68k/stand/boot/if_le.c
diff -u src/sys/arch/luna68k/stand/boot/if_le.c:1.6 src/sys/arch/luna68k/stand/boot/if_le.c:1.7
--- src/sys/arch/luna68k/stand/boot/if_le.c:1.6 Sat Jan 11 15:51:02 2014
+++ src/sys/arch/luna68k/stand/boot/if_le.c Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_le.c,v 1.6 2014/01/11 15:51:02 tsutsui Exp $ */
+/* $NetBSD: if_le.c,v 1.7 2019/06/30 05:04:49 tsutsui Exp $ */
/*
* Copyright (c) 2013 Izumi Tsutsui. All rights reserved.
@@ -60,6 +60,7 @@
#include <sys/param.h>
+#include <machine/board.h>
#include <machine/cpu.h>
#include <net/if.h>
@@ -73,6 +74,8 @@
#include <luna68k/stand/boot/samachdep.h>
+#define TRI_PORT_RAM_LANCE_OFFSET 0x10000
+
/* libsa netif_driver glue functions */
static int le_match(struct netif *, void *);
static int le_probe(struct netif *, void *);
@@ -113,7 +116,7 @@ leinit(int unit, void *addr)
uint8_t eaddr[6];
reg = addr;
- mem = (void *)0x71010000; /* XXX */
+ mem = (void *)(TRI_PORT_RAM + TRI_PORT_RAM_LANCE_OFFSET);
myetheraddr(eaddr);
Index: src/sys/arch/luna68k/stand/boot/sio.c
diff -u src/sys/arch/luna68k/stand/boot/sio.c:1.4 src/sys/arch/luna68k/stand/boot/sio.c:1.5
--- src/sys/arch/luna68k/stand/boot/sio.c:1.4 Fri Jan 3 02:03:12 2014
+++ src/sys/arch/luna68k/stand/boot/sio.c Sun Jun 30 05:04:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sio.c,v 1.4 2014/01/03 02:03:12 tsutsui Exp $ */
+/* $NetBSD: sio.c,v 1.5 2019/06/30 05:04:49 tsutsui Exp $ */
/*
* Copyright (c) 1992 OMRON Corporation.
@@ -75,6 +75,7 @@
#define NSIO 2
#include <sys/param.h>
+#include <machine/board.h>
#include <luna68k/stand/boot/samachdep.h>
#include <luna68k/stand/boot/sioreg.h>
#include <luna68k/stand/boot/rcvbuf.h>
@@ -135,8 +136,8 @@ siointr(int unit)
void
siocnprobe(struct consdev *cp)
{
- sio_addr[0] = (struct siodevice *)0x51000000;
- sio_addr[1] = (struct siodevice *)0x51000004;
+ sio_addr[0] = (struct siodevice *)(OBIO_SIO + 0);
+ sio_addr[1] = (struct siodevice *)(OBIO_SIO + 4);
/* make sure hardware exists */
if (badaddr((short *)sio_addr[0])) {
Added files:
Index: src/sys/arch/luna68k/include/board.h
diff -u /dev/null src/sys/arch/luna68k/include/board.h:1.1
--- /dev/null Sun Jun 30 05:04:49 2019
+++ src/sys/arch/luna68k/include/board.h Sun Jun 30 05:04:48 2019
@@ -0,0 +1,117 @@
+/* $NetBSD: board.h,v 1.1 2019/06/30 05:04:48 tsutsui Exp $ */
+/* $OpenBSD: board.h,v 1.15 2017/11/03 06:55:08 aoyama Exp $ */
+/*
+ * Mach Operating System
+ * Copyright (c) 1993-1991 Carnegie Mellon University
+ * Copyright (c) 1991 OMRON Corporation
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or [email protected]
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#ifndef _MACHINE_BOARD_H_
+#define _MACHINE_BOARD_H_
+
+/*
+ * OMRON SX9100DT CPU board constants
+ */
+
+/*
+ * Something to put append a 'U' to a long constant if it's C so that
+ * it'll be unsigned in both ANSI and traditional.
+ */
+#if defined(_LOCORE)
+#define U(num) num
+#elif defined(__STDC__)
+#define U(num) num ## U
+#else
+#define U(num) num/**/U
+#endif
+
+#define PROM_ADDR U(0x41000000) /* PROM */
+#define PROM_SPACE U(0x00040000)
+#define NVRAM_ADDR U(0x45000000) /* Non Volatile */
+#define NVRAM_SPACE U(0x00001FDC)
+#define FUSE_ROM_ADDR U(0x43000000) /* FUSE_ROM */
+#define FUSE_ROM_SPACE 1024
+#define OBIO_CLOCK_BASE U(0x45000000) /* Mostek or Dallas TimeKeeper */
+#define OBIO_PIO0_BASE U(0x49000000) /* PIO-0 */
+#define OBIO_PIO0_SPACE U(0x00000004)
+#define OBIO_PIO0A U(0x49000000) /* PIO-0 port A */
+#define OBIO_PIO0B U(0x49000001) /* PIO-0 port B */
+#define OBIO_PIO0C U(0x49000002) /* PIO-0 port C*/
+#define OBIO_PIO0 U(0x49000003) /* PIO-0 control */
+#define OBIO_PIO1_BASE U(0x4D000000) /* PIO-1 */
+#define OBIO_PIO1_SPACE U(0x00000004)
+#define OBIO_PIO1A U(0x4D000000) /* PIO-1 port A */
+#define OBIO_PIO1B U(0x4D000001) /* PIO-1 port B */
+#define OBIO_PIO1C U(0x4D000002) /* PIO-1 port C*/
+#define OBIO_PIO1 U(0x4D000003) /* PIO-1 control */
+#define OBIO_SIO U(0x51000000) /* SIO */
+#define OBIO_TAS U(0x61000000) /* TAS register */
+#define OBIO_CLOCK U(0x63000000) /* system clock */
+
+#define TRI_PORT_RAM U(0x71000000) /* 3 port RAM */
+#define TRI_PORT_RAM_SPACE 0x20000
+#define EXT_A_ADDR U(0x81000000) /* extension board A */
+#define EXT_A_SPACE U(0x02000000)
+#define EXT_B_ADDR U(0x83000000) /* extension board B */
+#define EXT_B_SPACE U(0x01000000)
+#define PC_BASE U(0x90000000) /* pc-98 extension board */
+#define PC_SPACE U(0x02000000)
+
+#define MROM_ADDR U(0xA1000000) /* Mask ROM address */
+#define MROM_SPACE 0x400000
+#define BMAP_START U(0xB1000000) /* Bitmap start address */
+#define BMAP_SPACE (BMAP_END - BMAP_START)
+#define BMAP_RFCNT U(0xB1000000) /* RFCNT register */
+#define BMAP_BMSEL U(0xB1040000) /* BMSEL register */
+#define BMAP_BMP U(0xB1080000) /* common bitmap plane */
+#define BMAP_BMAP0 U(0xB10C0000) /* bitmap plane 0 */
+#define BMAP_BMAP1 U(0xB1100000) /* bitmap plane 1 */
+#define BMAP_BMAP2 U(0xB1140000) /* bitmap plane 2 */
+#define BMAP_BMAP3 U(0xB1180000) /* bitmap plane 3 */
+#define BMAP_BMAP4 U(0xB11C0000) /* bitmap plane 4 */
+#define BMAP_BMAP5 U(0xB1200000) /* bitmap plane 5 */
+#define BMAP_BMAP6 U(0xB1240000) /* bitmap plane 6 */
+#define BMAP_BMAP7 U(0xB1280000) /* bitmap plane 7 */
+#define BMAP_FN U(0xB12C0000) /* common bitmap function */
+#define BMAP_FN0 U(0xB1300000) /* bitmap function 0 */
+#define BMAP_FN1 U(0xB1340000) /* bitmap function 1 */
+#define BMAP_FN2 U(0xB1380000) /* bitmap function 2 */
+#define BMAP_FN3 U(0xB13C0000) /* bitmap function 3 */
+#define BMAP_FN4 U(0xB1400000) /* bitmap function 4 */
+#define BMAP_FN5 U(0xB1440000) /* bitmap function 5 */
+#define BMAP_FN6 U(0xB1480000) /* bitmap function 6 */
+#define BMAP_FN7 U(0xB14C0000) /* bitmap function 7 */
+#define BMAP_END U(0xB1500000)
+#define BMAP_END24P U(0xB1800000) /* end of 24p framemem */
+#define BMAP_PALLET0 U(0xC0000000) /* color pallet */
+#define BMAP_PALLET1 U(0xC1000000) /* color pallet */
+#define BMAP_PALLET2 U(0xC1100000) /* color pallet */
+#define BOARD_CHECK_REG U(0xD0000000) /* board check register */
+#define BMAP_CRTC U(0xD1000000) /* CRTC-II */
+#define BMAP_IDENTROM U(0xD1800000) /* bitmap-board identify ROM */
+#define SCSI_ADDR U(0xE1000000) /* SCSI address */
+#define SCSI_2_ADDR U(0xE1000040) /* 2nd SCSI address */
+#define LANCE_ADDR U(0xF1000000) /* LANCE */
+
+#endif /* _MACHINE_BOARD_H_ */