|
@@ -519,3 +519,155 @@ dp264_init_pci(void)
|
|
|
|
|
|
static void __init
|
|
static void __init
|
|
monet_init_pci(void)
|
|
monet_init_pci(void)
|
|
|
|
+{
|
|
|
|
+ common_init_pci();
|
|
|
|
+ SMC669_Init(1);
|
|
|
|
+ es1888_init();
|
|
|
|
+ locate_and_init_vga(NULL);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void __init
|
|
|
|
+clipper_init_pci(void)
|
|
|
|
+{
|
|
|
|
+ common_init_pci();
|
|
|
|
+ locate_and_init_vga(NULL);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void __init
|
|
|
|
+webbrick_init_arch(void)
|
|
|
|
+{
|
|
|
|
+ tsunami_init_arch();
|
|
|
|
+
|
|
|
|
+ /* Tsunami caches 4 PTEs at a time; DS10 has only 1 hose. */
|
|
|
|
+ hose_head->sg_isa->align_entry = 4;
|
|
|
|
+ hose_head->sg_pci->align_entry = 4;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * The System Vectors
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+struct alpha_machine_vector dp264_mv __initmv = {
|
|
|
|
+ .vector_name = "DP264",
|
|
|
|
+ DO_EV6_MMU,
|
|
|
|
+ DO_DEFAULT_RTC,
|
|
|
|
+ DO_TSUNAMI_IO,
|
|
|
|
+ .machine_check = tsunami_machine_check,
|
|
|
|
+ .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS,
|
|
|
|
+ .min_io_address = DEFAULT_IO_BASE,
|
|
|
|
+ .min_mem_address = DEFAULT_MEM_BASE,
|
|
|
|
+ .pci_dac_offset = TSUNAMI_DAC_OFFSET,
|
|
|
|
+
|
|
|
|
+ .nr_irqs = 64,
|
|
|
|
+ .device_interrupt = dp264_device_interrupt,
|
|
|
|
+
|
|
|
|
+ .init_arch = tsunami_init_arch,
|
|
|
|
+ .init_irq = dp264_init_irq,
|
|
|
|
+ .init_rtc = common_init_rtc,
|
|
|
|
+ .init_pci = dp264_init_pci,
|
|
|
|
+ .kill_arch = tsunami_kill_arch,
|
|
|
|
+ .pci_map_irq = dp264_map_irq,
|
|
|
|
+ .pci_swizzle = common_swizzle,
|
|
|
|
+};
|
|
|
|
+ALIAS_MV(dp264)
|
|
|
|
+
|
|
|
|
+struct alpha_machine_vector monet_mv __initmv = {
|
|
|
|
+ .vector_name = "Monet",
|
|
|
|
+ DO_EV6_MMU,
|
|
|
|
+ DO_DEFAULT_RTC,
|
|
|
|
+ DO_TSUNAMI_IO,
|
|
|
|
+ .machine_check = tsunami_machine_check,
|
|
|
|
+ .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS,
|
|
|
|
+ .min_io_address = DEFAULT_IO_BASE,
|
|
|
|
+ .min_mem_address = DEFAULT_MEM_BASE,
|
|
|
|
+ .pci_dac_offset = TSUNAMI_DAC_OFFSET,
|
|
|
|
+
|
|
|
|
+ .nr_irqs = 64,
|
|
|
|
+ .device_interrupt = dp264_device_interrupt,
|
|
|
|
+
|
|
|
|
+ .init_arch = tsunami_init_arch,
|
|
|
|
+ .init_irq = dp264_init_irq,
|
|
|
|
+ .init_rtc = common_init_rtc,
|
|
|
|
+ .init_pci = monet_init_pci,
|
|
|
|
+ .kill_arch = tsunami_kill_arch,
|
|
|
|
+ .pci_map_irq = monet_map_irq,
|
|
|
|
+ .pci_swizzle = monet_swizzle,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct alpha_machine_vector webbrick_mv __initmv = {
|
|
|
|
+ .vector_name = "Webbrick",
|
|
|
|
+ DO_EV6_MMU,
|
|
|
|
+ DO_DEFAULT_RTC,
|
|
|
|
+ DO_TSUNAMI_IO,
|
|
|
|
+ .machine_check = tsunami_machine_check,
|
|
|
|
+ .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS,
|
|
|
|
+ .min_io_address = DEFAULT_IO_BASE,
|
|
|
|
+ .min_mem_address = DEFAULT_MEM_BASE,
|
|
|
|
+ .pci_dac_offset = TSUNAMI_DAC_OFFSET,
|
|
|
|
+
|
|
|
|
+ .nr_irqs = 64,
|
|
|
|
+ .device_interrupt = dp264_device_interrupt,
|
|
|
|
+
|
|
|
|
+ .init_arch = webbrick_init_arch,
|
|
|
|
+ .init_irq = dp264_init_irq,
|
|
|
|
+ .init_rtc = common_init_rtc,
|
|
|
|
+ .init_pci = common_init_pci,
|
|
|
|
+ .kill_arch = tsunami_kill_arch,
|
|
|
|
+ .pci_map_irq = webbrick_map_irq,
|
|
|
|
+ .pci_swizzle = common_swizzle,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct alpha_machine_vector clipper_mv __initmv = {
|
|
|
|
+ .vector_name = "Clipper",
|
|
|
|
+ DO_EV6_MMU,
|
|
|
|
+ DO_DEFAULT_RTC,
|
|
|
|
+ DO_TSUNAMI_IO,
|
|
|
|
+ .machine_check = tsunami_machine_check,
|
|
|
|
+ .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS,
|
|
|
|
+ .min_io_address = DEFAULT_IO_BASE,
|
|
|
|
+ .min_mem_address = DEFAULT_MEM_BASE,
|
|
|
|
+ .pci_dac_offset = TSUNAMI_DAC_OFFSET,
|
|
|
|
+
|
|
|
|
+ .nr_irqs = 64,
|
|
|
|
+ .device_interrupt = dp264_device_interrupt,
|
|
|
|
+
|
|
|
|
+ .init_arch = tsunami_init_arch,
|
|
|
|
+ .init_irq = clipper_init_irq,
|
|
|
|
+ .init_rtc = common_init_rtc,
|
|
|
|
+ .init_pci = clipper_init_pci,
|
|
|
|
+ .kill_arch = tsunami_kill_arch,
|
|
|
|
+ .pci_map_irq = clipper_map_irq,
|
|
|
|
+ .pci_swizzle = common_swizzle,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* Sharks strongly resemble Clipper, at least as far
|
|
|
|
+ * as interrupt routing, etc, so we're using the
|
|
|
|
+ * same functions as Clipper does
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+struct alpha_machine_vector shark_mv __initmv = {
|
|
|
|
+ .vector_name = "Shark",
|
|
|
|
+ DO_EV6_MMU,
|
|
|
|
+ DO_DEFAULT_RTC,
|
|
|
|
+ DO_TSUNAMI_IO,
|
|
|
|
+ .machine_check = tsunami_machine_check,
|
|
|
|
+ .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS,
|
|
|
|
+ .min_io_address = DEFAULT_IO_BASE,
|
|
|
|
+ .min_mem_address = DEFAULT_MEM_BASE,
|
|
|
|
+ .pci_dac_offset = TSUNAMI_DAC_OFFSET,
|
|
|
|
+
|
|
|
|
+ .nr_irqs = 64,
|
|
|
|
+ .device_interrupt = dp264_device_interrupt,
|
|
|
|
+
|
|
|
|
+ .init_arch = tsunami_init_arch,
|
|
|
|
+ .init_irq = clipper_init_irq,
|
|
|
|
+ .init_rtc = common_init_rtc,
|
|
|
|
+ .init_pci = common_init_pci,
|
|
|
|
+ .kill_arch = tsunami_kill_arch,
|
|
|
|
+ .pci_map_irq = clipper_map_irq,
|
|
|
|
+ .pci_swizzle = common_swizzle,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* No alpha_mv alias for webbrick/monet/clipper, since we compile them
|
|
|
|
+ in unconditionally with DP264; setup_arch knows how to cope. */
|