1 // SPDX-License-Identifier: GPL-2.0-only
3 * iq81340mc board support
4 * Copyright (c) 2005-2006, Intel Corporation.
8 #include <mach/hardware.h>
10 #include <asm/mach/pci.h>
11 #include <asm/mach-types.h>
12 #include <asm/mach/arch.h>
14 #include <asm/mach/time.h>
15 #include <mach/time.h>
17 extern int init_atu; /* Flag to select which ATU(s) to initialize / disable */
20 iq81340mc_pcix_map_irq(const struct pci_dev *dev, u8 idsel, u8 pin)
25 case 1: return ATUX_INTB;
26 case 2: return ATUX_INTC;
27 case 3: return ATUX_INTD;
28 case 4: return ATUX_INTA;
33 case 1: return ATUX_INTC;
34 case 2: return ATUX_INTD;
35 case 3: return ATUX_INTC;
36 case 4: return ATUX_INTD;
43 static struct hw_pci iq81340mc_pci __initdata = {
45 .setup = iop13xx_pci_setup,
46 .map_irq = iq81340mc_pcix_map_irq,
47 .scan = iop13xx_scan_bus,
48 .preinit = iop13xx_pci_init,
51 static int __init iq81340mc_pci_init(void)
53 iop13xx_atu_select(&iq81340mc_pci);
54 pci_common_init(&iq81340mc_pci);
55 iop13xx_map_pci_memory();
60 static void __init iq81340mc_init(void)
62 iop13xx_platform_init();
64 iop13xx_add_tpmi_devices();
67 static void __init iq81340mc_timer_init(void)
69 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio();
70 printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq);
71 iop_init_time(bus_freq);
74 MACHINE_START(IQ81340MC, "Intel IQ81340MC")
75 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
77 .init_early = iop13xx_init_early,
78 .map_io = iop13xx_map_io,
79 .init_irq = iop13xx_init_irq,
80 .init_time = iq81340mc_timer_init,
81 .init_machine = iq81340mc_init,
82 .restart = iop13xx_restart,
83 .nr_irqs = NR_IOP13XX_IRQS,