2 * linux/arch/sh/boards/sh03/setup.c
4 * Copyright (C) 2004 Interface Co.,Ltd. Saito.K
8 #include <linux/config.h>
9 #include <linux/init.h>
10 #include <linux/irq.h>
11 #include <linux/hdreg.h>
12 #include <linux/ide.h>
14 #include <asm/sh03/io.h>
15 #include <asm/sh03/sh03.h>
16 #include <asm/addrspace.h>
17 #include "../../drivers/pci/pci-sh7751.h"
19 extern void (*board_time_init
)(void);
21 const char *get_system_type(void)
23 return "Interface CTP/PCI-SH03)";
26 void init_sh03_IRQ(void)
28 ctrl_outw(ctrl_inw(INTC_ICR
) | INTC_ICR_IRLM
, INTC_ICR
);
30 make_ipr_irq(IRL0_IRQ
, IRL0_IPR_ADDR
, IRL0_IPR_POS
, IRL0_PRIORITY
);
31 make_ipr_irq(IRL1_IRQ
, IRL1_IPR_ADDR
, IRL1_IPR_POS
, IRL1_PRIORITY
);
32 make_ipr_irq(IRL2_IRQ
, IRL2_IPR_ADDR
, IRL2_IPR_POS
, IRL2_PRIORITY
);
33 make_ipr_irq(IRL3_IRQ
, IRL3_IPR_ADDR
, IRL3_IPR_POS
, IRL3_PRIORITY
);
36 extern void *cf_io_base
;
38 unsigned long sh03_isa_port2addr(unsigned long port
)
42 /* CompactFlash (IDE) */
43 if (((port
>= 0x1f0) && (port
<= 0x1f7)) || (port
== 0x3f6)) {
44 return (unsigned long)cf_io_base
+ port
;
46 return port
+ SH7751_PCI_IO_BASE
;
53 struct sh_machine_vector mv_sh03 __initmv
= {
55 .mv_isa_port2addr
= sh03_isa_port2addr
,
56 .mv_init_irq
= init_sh03_IRQ
,
58 #ifdef CONFIG_HEARTBEAT
59 .mv_heartbeat
= heartbeat_sh03
,
65 /* arch/sh/boards/sh03/rtc.c */
66 void sh03_time_init(void);
68 int __init
platform_setup(void)
70 board_time_init
= sh03_time_init
;