aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/sun4setup.c
blob: 229a52f55f16a50e8276aff1b95a0abcb113147a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* sun4setup.c: Setup the hardware address of various items in the sun4
 * 		architecture. Called from idprom_init
 *
 * Copyright (C) 1998 Chris G. Davis (cdavis@cois.on.ca)
 */

#include <asm/page.h>
#include <asm/oplib.h>
#include <asm/idprom.h>
#include <asm/sun4paddr.h>
#include <asm/machines.h>

int sun4_memreg_physaddr;
int sun4_ie_physaddr;
int sun4_clock_physaddr;
int sun4_timer_physaddr;
int sun4_eth_physaddr;
int sun4_si_physaddr;
int sun4_bwtwo_physaddr;
int sun4_zs0_physaddr;
int sun4_zs1_physaddr;
int sun4_dma_physaddr;
int sun4_esp_physaddr;
int sun4_ie_physaddr; 

void __init sun4setup(void)
{
	printk("Sun4 Hardware Setup v1.0 18/May/98 Chris Davis (cdavis@cois.on.ca). ");
	/*
	  setup standard sun4 info
	  */
	sun4_ie_physaddr=SUN4_IE_PHYSADDR;

	/*
	  setup model specific info
	  */
	switch(idprom->id_machtype) {
		case (SM_SUN4 | SM_4_260 ):
			printk("Setup for a SUN4/260\n");
			sun4_memreg_physaddr=SUN4_200_MEMREG_PHYSADDR;
			sun4_clock_physaddr=SUN4_200_CLOCK_PHYSADDR;
			sun4_timer_physaddr=SUN4_UNUSED_PHYSADDR;
			sun4_eth_physaddr=SUN4_200_ETH_PHYSADDR;
			sun4_si_physaddr=SUN4_200_SI_PHYSADDR;
			sun4_bwtwo_physaddr=SUN4_200_BWTWO_PHYSADDR;
			sun4_dma_physaddr=SUN4_UNUSED_PHYSADDR;
			sun4_esp_physaddr=SUN4_UNUSED_PHYSADDR;
			break;
		case (SM_SUN4 | SM_4_330 ):
			printk("Setup for a SUN4/330\n");
			sun4_memreg_physaddr=SUN4_300_MEMREG_PHYSADDR;
			sun4_clock_physaddr=SUN4_300_CLOCK_PHYSADDR;
			sun4_timer_physaddr=SUN4_300_TIMER_PHYSADDR;
			sun4_eth_physaddr=SUN4_300_ETH_PHYSADDR;
			sun4_si_physaddr=SUN4_UNUSED_PHYSADDR;
			sun4_bwtwo_physaddr=SUN4_300_BWTWO_PHYSADDR;
			sun4_dma_physaddr=SUN4_300_DMA_PHYSADDR;
			sun4_esp_physaddr=SUN4_300_ESP_PHYSADDR;
			break;
		case (SM_SUN4 | SM_4_470 ):
			printk("Setup for a SUN4/470\n");
			sun4_memreg_physaddr=SUN4_400_MEMREG_PHYSADDR;
			sun4_clock_physaddr=SUN4_400_CLOCK_PHYSADDR;
			sun4_timer_physaddr=SUN4_400_TIMER_PHYSADDR;
			sun4_eth_physaddr=SUN4_400_ETH_PHYSADDR;
			sun4_si_physaddr=SUN4_UNUSED_PHYSADDR;
			sun4_bwtwo_physaddr=SUN4_400_BWTWO_PHYSADDR;
			sun4_dma_physaddr=SUN4_400_DMA_PHYSADDR;
			sun4_esp_physaddr=SUN4_400_ESP_PHYSADDR;
			break;
		default:
			;
	}
}