Subject: port-mac68k/4176: Need to add support for 33 Mhz LC475/Q605
To: None <gnats-bugs@gnats.netbsd.org>
From: David Johnston <david@canopus.apana.org.au>
List: netbsd-bugs
Date: 09/28/1997 18:18:25
>Number:         4176
>Category:       port-mac68k
>Synopsis:       Need to add support for 33 Mhz LC475/Q605
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Sep 28 01:20:01 1997
>Last-Modified:
>Originator:     David Johnston
>Organization:
>Release:        1.2
>Environment:
	LC475, NetBSD-current
System: NetBSD canopus.apana.org.au 1.2.1 NetBSD 1.2.1 (CANOPUS) #0: Sun Jun 29 18:40:06 EST 1997 root@canopus.apana.org.au:/u1/NetBSD-1.2.1/usr/src/sys/arch/mac68k/compile/CANOPUS mac68k


>Description:

	There is a very simple modification you can do to an LC475 or
	Q605 - the machines have an identical motherboard - to raise
	its frequency from 25MHz to 33 Mhz (the change just involves
	moving two resistors - see the page
	http://socrates.berkeley.edu/~schrier/q605.html).

	The machine reports a different gestalt value when the change
	has been made which means that netbsd will not recognize the
	machine on booting.  The gestalt values the motherboard reports
	are as follows:

		speed   |       machine type
			|      LC475    |   Q605
		---------------------------------
		25 MHz  |       89      |    94
		33 MHz  |       90      |    95

	Can we add these new gestalt values to machdep.c? From reading the
	gestalt.h file from the latest code warrior release it would appear
	that these gestalt values are not used for any other machines.
	
>How-To-Repeat:
>Fix:

The required changes to cpu.h and machdep.c are as follows:

*** /usr/src/new-sys/arch/mac68k/include/cpu.h  Mon Jun 30 21:21:01 1997
--- cpu.h       Sat Sep 27 20:59:26 1997
***************
*** 181,188 ****
--- 181,190 ----
  #define MACH_MACPB165         84
  #define MACH_MACTV            88
  #define MACH_MACLC475         89
+ #define MACH_MACLC475_33      90
  #define MACH_MACLC575         92
  #define MACH_MACQ605          94
+ #define MACH_MACQ605_33               95
  #define MACH_MACQ630          98
  #define MACH_MACPB280         102
  #define MACH_MACPB280C                103


*** /usr/src/new-sys/arch/mac68k/mac68k/machdep.c       Sun Sep 21 22:18:15 1997
--- machdep.c   Sat Sep 27 20:58:09 1997
***************
*** 1970,1975 ****
--- 1970,1976 ----
        {MACH_MACQ650, "Quadra", " 650 ", MACH_CLASSQ, &romvecs[6]},
        {MACH_MACC650, "Centris", " 650 ", MACH_CLASSQ, &romvecs[6]},
        {MACH_MACQ605, "Quadra", " 605 ", MACH_CLASSQ, &romvecs[9]},
+       {MACH_MACQ605_33, "Quadra", " 605/33 ", MACH_CLASSQ, &romvecs[9]},
        {MACH_MACC610, "Centris", " 610 ", MACH_CLASSQ, &romvecs[6]},
        {MACH_MACQ610, "Quadra", " 610 ", MACH_CLASSQ, &romvecs[6]},
        {MACH_MACQ630, "Quadra", " 630 ", MACH_CLASSQ, &romvecs[13]},
***************
*** 2008,2013 ****
--- 2009,2015 ----
        {MACH_MACLCII,  "LC", " II ",  MACH_CLASSLC, &romvecs[3]},
        {MACH_MACLCIII, "LC", " III ", MACH_CLASSLC, &romvecs[14]},
        {MACH_MACLC475, "LC", " 475 ", MACH_CLASSQ,  &romvecs[9]},
+       {MACH_MACLC475_33, "LC", " 475/33 ", MACH_CLASSQ,  &romvecs[9]},
        {MACH_MACLC520, "LC", " 520 ", MACH_CLASSLC, &romvecs[15]},
        {MACH_MACLC575, "LC", " 575 ", MACH_CLASSQ2, &romvecs[16]},
        {MACH_MACCCLASSIC, "Color Classic ", "", MACH_CLASSLC, &romvecs[3]},

I've tested these changes and they work.
>Audit-Trail:
>Unformatted: