20 #include <linux/kernel.h>
21 #include <linux/pci.h>
23 #include <linux/string.h>
24 #include <linux/serial_core.h>
29 #include <mach/hardware.h>
30 #include <asm/cputype.h>
38 #include <asm/pgtable.h>
39 #include <mach/time.h>
48 static int force_ep80219;
50 static int is_80219(
void)
52 return !!((read_cpuid_id() & 0xffffffe0) == 0x69052e20);
55 static int is_ep80219(
void)
57 if (machine_is_ep80219() || force_ep80219)
67 static void __init iq31244_timer_init(
void)
79 .init = iq31244_timer_init,
113 }
else if (slot == 1) {
116 }
else if (slot == 2) {
119 }
else if (slot == 3) {
124 "device PCI:%d:%d:%d\n", dev->
bus->number,
132 static struct hw_pci ep80219_pci __initdata = {
137 .map_irq = ep80219_pci_map_irq,
141 iq31244_pci_map_irq(
const struct pci_dev *dev,
u8 slot,
u8 pin)
148 }
else if (slot == 1) {
151 }
else if (slot == 2) {
154 }
else if (slot == 3) {
159 "device PCI:%d:%d:%d\n", dev->
bus->number,
167 static struct hw_pci iq31244_pci __initdata = {
172 .map_irq = iq31244_pci_map_irq,
175 static int __init iq31244_pci_init(
void)
179 else if (machine_is_iq31244()) {
181 printk(
"note: iq31244 board type has been selected\n");
182 printk(
"note: to select ep80219 operation:\n");
183 printk(
"\t1/ specify \"force_ep80219\" on the kernel"
185 printk(
"\t2/ update boot loader to pass"
186 " the ep80219 id: %d\n", MACH_TYPE_EP80219);
204 static struct resource iq31244_flash_resource = {
211 .name =
"physmap-flash",
214 .platform_data = &iq31244_flash_data,
217 .resource = &iq31244_flash_resource,
233 static struct resource iq31244_uart_resource = {
240 .name =
"serial8250",
243 .platform_data = iq31244_serial_port,
246 .resource = &iq31244_uart_resource,
288 static void __init iq31244_init_machine(
void)
304 static int __init force_ep80219_setup(
char *
str)
310 __setup(
"force_ep80219", force_ep80219_setup);
314 .atag_offset = 0x100,
317 .timer = &iq31244_timer,
318 .init_machine = iq31244_init_machine,
329 .atag_offset = 0x100,
332 .timer = &iq31244_timer,
333 .init_machine = iq31244_init_machine,