1/* sun4setup.c: Setup the hardware address of various items in the sun4
2 * 		architecture. Called from idprom_init
3 *
4 * Copyright (C) 1998 Chris G. Davis (cdavis@cois.on.ca)
5 */
6
7#include <asm/page.h>
8#include <asm/oplib.h>
9#include <asm/idprom.h>
10#include <asm/sun4paddr.h>
11#include <asm/machines.h>
12
13int sun4_memreg_physaddr;
14int sun4_ie_physaddr;
15int sun4_clock_physaddr;
16int sun4_timer_physaddr;
17int sun4_eth_physaddr;
18int sun4_si_physaddr;
19int sun4_bwtwo_physaddr;
20int sun4_zs0_physaddr;
21int sun4_zs1_physaddr;
22int sun4_dma_physaddr;
23int sun4_esp_physaddr;
24int sun4_ie_physaddr;
25
26void __init sun4setup(void)
27{
28	printk("Sun4 Hardware Setup v1.0 18/May/98 Chris Davis (cdavis@cois.on.ca). ");
29	/*
30	  setup standard sun4 info
31	  */
32	sun4_ie_physaddr=SUN4_IE_PHYSADDR;
33
34	/*
35	  setup model specific info
36	  */
37	switch(idprom->id_machtype) {
38		case (SM_SUN4 | SM_4_260 ):
39			printk("Setup for a SUN4/260\n");
40			sun4_memreg_physaddr=SUN4_200_MEMREG_PHYSADDR;
41			sun4_clock_physaddr=SUN4_200_CLOCK_PHYSADDR;
42			sun4_timer_physaddr=SUN4_UNUSED_PHYSADDR;
43			sun4_eth_physaddr=SUN4_200_ETH_PHYSADDR;
44			sun4_si_physaddr=SUN4_200_SI_PHYSADDR;
45			sun4_bwtwo_physaddr=SUN4_200_BWTWO_PHYSADDR;
46			sun4_dma_physaddr=SUN4_UNUSED_PHYSADDR;
47			sun4_esp_physaddr=SUN4_UNUSED_PHYSADDR;
48			break;
49		case (SM_SUN4 | SM_4_330 ):
50			printk("Setup for a SUN4/330\n");
51			sun4_memreg_physaddr=SUN4_300_MEMREG_PHYSADDR;
52			sun4_clock_physaddr=SUN4_300_CLOCK_PHYSADDR;
53			sun4_timer_physaddr=SUN4_300_TIMER_PHYSADDR;
54			sun4_eth_physaddr=SUN4_300_ETH_PHYSADDR;
55			sun4_si_physaddr=SUN4_UNUSED_PHYSADDR;
56			sun4_bwtwo_physaddr=SUN4_300_BWTWO_PHYSADDR;
57			sun4_dma_physaddr=SUN4_300_DMA_PHYSADDR;
58			sun4_esp_physaddr=SUN4_300_ESP_PHYSADDR;
59			break;
60		case (SM_SUN4 | SM_4_470 ):
61			printk("Setup for a SUN4/470\n");
62			sun4_memreg_physaddr=SUN4_400_MEMREG_PHYSADDR;
63			sun4_clock_physaddr=SUN4_400_CLOCK_PHYSADDR;
64			sun4_timer_physaddr=SUN4_400_TIMER_PHYSADDR;
65			sun4_eth_physaddr=SUN4_400_ETH_PHYSADDR;
66			sun4_si_physaddr=SUN4_UNUSED_PHYSADDR;
67			sun4_bwtwo_physaddr=SUN4_400_BWTWO_PHYSADDR;
68			sun4_dma_physaddr=SUN4_400_DMA_PHYSADDR;
69			sun4_esp_physaddr=SUN4_400_ESP_PHYSADDR;
70			break;
71		default:
72			;
73	}
74}
75