Module Name: src Committed By: nisimura Date: Sun Apr 8 10:38:34 UTC 2012
Modified Files: src/sys/arch/sandpoint/stand/altboot: brdsetup.c globals.h Log Message: Add an entry for Terastation TGL miconv2 satellite processor which features a more complex protocol than Linkstation/Kurobox. To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/sys/arch/sandpoint/stand/altboot/brdsetup.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sandpoint/stand/altboot/globals.h 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/sandpoint/stand/altboot/brdsetup.c diff -u src/sys/arch/sandpoint/stand/altboot/brdsetup.c:1.27 src/sys/arch/sandpoint/stand/altboot/brdsetup.c:1.28 --- src/sys/arch/sandpoint/stand/altboot/brdsetup.c:1.27 Sat Jan 14 22:36:54 2012 +++ src/sys/arch/sandpoint/stand/altboot/brdsetup.c Sun Apr 8 10:38:34 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: brdsetup.c,v 1.27 2012/01/14 22:36:54 phx Exp $ */ +/* $NetBSD: brdsetup.c,v 1.28 2012/04/08 10:38:34 nisimura Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -56,6 +56,7 @@ BRD_DECL(qnap); BRD_DECL(iomega); BRD_DECL(dlink); BRD_DECL(nhnas); +BRD_DECL(kurot4); static void brdfixup(void); static void setup(void); @@ -170,6 +171,13 @@ static struct brdprop brdlist[] = { "eumb", 0x4500, 9600, NULL, nhnasbrdfix, NULL, nhnasreset }, { + "miconv2", + "KuroBox/T4", + BRD_KUROBOXT4, + 0, + "eumb", 0x4600, 57600, + kurot4setup, kurot4brdfix, NULL, NULL }, + { "unknown", "Unknown board", BRD_UNKNOWN, @@ -207,7 +215,7 @@ brdsetup(void) char *consname; int consport; uint32_t extclk; - unsigned pchb, pcib, dev11, dev13, dev15, dev16, val; + unsigned pchb, pcib, dev11, dev12, dev13, dev15, dev16, val; extern struct btinfo_memory bi_mem; extern struct btinfo_console bi_cons; extern struct btinfo_clock bi_clk; @@ -229,6 +237,7 @@ brdsetup(void) busclock = 0; dev11 = pcimaketag(0, 11, 0); + dev12 = pcimaketag(0, 12, 0); dev13 = pcimaketag(0, 13, 0); dev15 = pcimaketag(0, 15, 0); dev16 = pcimaketag(0, 16, 0); @@ -243,7 +252,10 @@ brdsetup(void) } else if (PCI_CLASS(pcicfgread(dev11, PCI_CLASS_REG)) == PCI_CLASS_ETH) { /* ADMtek AN985 (tlp) or RealTek 8169S (re) at dev 11 */ - brdtype = BRD_KUROBOX; + if (PCI_VENDOR(pcicfgread(dev12, PCI_ID_REG)) != 0x1095) + brdtype = BRD_KUROBOX; + else + brdtype = BRD_KUROBOXT4; } else if (PCI_VENDOR(pcicfgread(dev15, PCI_ID_REG)) == 0x11ab) { /* SKnet/Marvell (sk) at dev 15 */ @@ -764,6 +776,23 @@ nhnasreset() } void +kurot4setup(struct brdprop *brd) +{ + + if (PCI_VENDOR(pcicfgread(pcimaketag(0, 11, 0), PCI_ID_REG)) == 0x10ec) + brd->extclk = 32768000; /* decr 2457600Hz */ + else + brd->extclk = 32521333; /* decr 2439100Hz */ +} + +void +kurot4brdfix(struct brdprop *brd) +{ + + init_uart(uart2base, 38400, LCR_8BITS | LCR_PEVEN); +} + +void _rtt(void) { uint32_t msr; Index: src/sys/arch/sandpoint/stand/altboot/globals.h diff -u src/sys/arch/sandpoint/stand/altboot/globals.h:1.16 src/sys/arch/sandpoint/stand/altboot/globals.h:1.17 --- src/sys/arch/sandpoint/stand/altboot/globals.h:1.16 Sun Jan 22 13:08:16 2012 +++ src/sys/arch/sandpoint/stand/altboot/globals.h Sun Apr 8 10:38:34 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: globals.h,v 1.16 2012/01/22 13:08:16 phx Exp $ */ +/* $NetBSD: globals.h,v 1.17 2012/04/08 10:38:34 nisimura Exp $ */ #ifdef DEBUG #define DPRINTF(x) printf x @@ -22,6 +22,7 @@ extern int brdtype; #define BRD_STORCENTER 103 #define BRD_DLINKDSM 104 #define BRD_NH230NAS 105 +#define BRD_KUROBOXT4 106 #define BRD_UNKNOWN -1 struct brdprop {