blob: 8a6d44b4987b393867b4213b13df548203dfce6c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __ASM_SH_HITACHI_SE_H
2#define __ASM_SH_HITACHI_SE_H
3
4/*
5 * linux/include/asm-sh/hitachi_se.h
6 *
7 * Copyright (C) 2000 Kazumoto Kojima
8 *
9 * Hitachi SolutionEngine support
10 */
Paul Mundtb8947012012-05-18 15:34:49 +090011#include <linux/sh_intc.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
13/* Box specific addresses. */
14
15#define PA_ROM 0x00000000 /* EPROM */
16#define PA_ROM_SIZE 0x00400000 /* EPROM size 4M byte */
17#define PA_FROM 0x01000000 /* EPROM */
18#define PA_FROM_SIZE 0x00400000 /* EPROM size 4M byte */
19#define PA_EXT1 0x04000000
20#define PA_EXT1_SIZE 0x04000000
21#define PA_EXT2 0x08000000
22#define PA_EXT2_SIZE 0x04000000
23#define PA_SDRAM 0x0c000000
24#define PA_SDRAM_SIZE 0x04000000
25
26#define PA_EXT4 0x12000000
27#define PA_EXT4_SIZE 0x02000000
28#define PA_EXT5 0x14000000
29#define PA_EXT5_SIZE 0x04000000
30#define PA_PCIC 0x18000000 /* MR-SHPC-01 PCMCIA */
31
32#define PA_83902 0xb0000000 /* DP83902A */
33#define PA_83902_IF 0xb0040000 /* DP83902A remote io port */
34#define PA_83902_RST 0xb0080000 /* DP83902A reset port */
35
36#define PA_SUPERIO 0xb0400000 /* SMC37C935A super io chip */
37#define PA_DIPSW0 0xb0800000 /* Dip switch 5,6 */
38#define PA_DIPSW1 0xb0800002 /* Dip switch 7,8 */
39#define PA_LED 0xb0c00000 /* LED */
40#if defined(CONFIG_CPU_SUBTYPE_SH7705)
41#define PA_BCR 0xb0e00000
42#else
43#define PA_BCR 0xb1400000 /* FPGA */
44#endif
45
46#define PA_MRSHPC 0xb83fffe0 /* MR-SHPC-01 PCMCIA controller */
47#define PA_MRSHPC_MW1 0xb8400000 /* MR-SHPC-01 memory window base */
48#define PA_MRSHPC_MW2 0xb8500000 /* MR-SHPC-01 attribute window base */
49#define PA_MRSHPC_IO 0xb8600000 /* MR-SHPC-01 I/O window base */
50#define MRSHPC_OPTION (PA_MRSHPC + 6)
51#define MRSHPC_CSR (PA_MRSHPC + 8)
52#define MRSHPC_ISR (PA_MRSHPC + 10)
53#define MRSHPC_ICR (PA_MRSHPC + 12)
54#define MRSHPC_CPWCR (PA_MRSHPC + 14)
55#define MRSHPC_MW0CR1 (PA_MRSHPC + 16)
56#define MRSHPC_MW1CR1 (PA_MRSHPC + 18)
57#define MRSHPC_IOWCR1 (PA_MRSHPC + 20)
58#define MRSHPC_MW0CR2 (PA_MRSHPC + 22)
59#define MRSHPC_MW1CR2 (PA_MRSHPC + 24)
60#define MRSHPC_IOWCR2 (PA_MRSHPC + 26)
61#define MRSHPC_CDCR (PA_MRSHPC + 28)
62#define MRSHPC_PCIC_INFO (PA_MRSHPC + 30)
63
64#define BCR_ILCRA (PA_BCR + 0)
65#define BCR_ILCRB (PA_BCR + 2)
66#define BCR_ILCRC (PA_BCR + 4)
67#define BCR_ILCRD (PA_BCR + 6)
68#define BCR_ILCRE (PA_BCR + 8)
69#define BCR_ILCRF (PA_BCR + 10)
70#define BCR_ILCRG (PA_BCR + 12)
71
Steve Glendinning8085ac72008-11-23 14:27:21 +000072#if defined(CONFIG_CPU_SUBTYPE_SH7709)
73#define INTC_IRR0 0xa4000004UL
74#define INTC_IRR1 0xa4000006UL
75#define INTC_IRR2 0xa4000008UL
76
77#define INTC_ICR0 0xfffffee0UL
78#define INTC_ICR1 0xa4000010UL
79#define INTC_ICR2 0xa4000012UL
80#define INTC_INTER 0xa4000014UL
81
82#define INTC_IPRC 0xa4000016UL
83#define INTC_IPRD 0xa4000018UL
84#define INTC_IPRE 0xa400001aUL
85
Paul Mundtb8947012012-05-18 15:34:49 +090086#define IRQ0_IRQ evt2irq(0x600)
87#define IRQ1_IRQ evt2irq(0x620)
Steve Glendinning8085ac72008-11-23 14:27:21 +000088#endif
89
Linus Torvalds1da177e2005-04-16 15:20:36 -070090#if defined(CONFIG_CPU_SUBTYPE_SH7705)
Paul Mundtb8947012012-05-18 15:34:49 +090091#define IRQ_STNIC evt2irq(0x380)
92#define IRQ_CFCARD evt2irq(0x3c0)
Linus Torvalds1da177e2005-04-16 15:20:36 -070093#else
Paul Mundtb8947012012-05-18 15:34:49 +090094#define IRQ_STNIC evt2irq(0x340)
95#define IRQ_CFCARD evt2irq(0x2e0)
Linus Torvalds1da177e2005-04-16 15:20:36 -070096#endif
97
Nobuhiro Iwamatsuffb91ad2008-06-18 18:29:06 +090098/* SH Ether support (SH7710/SH7712) */
99/* Base address */
100#define SH_ETH0_BASE 0xA7000000
101#define SH_ETH1_BASE 0xA7000400
102/* PHY ID */
103#if defined(CONFIG_CPU_SUBTYPE_SH7710)
104# define PHY_ID 0x00
105#elif defined(CONFIG_CPU_SUBTYPE_SH7712)
106# define PHY_ID 0x01
107#endif
108/* Ether IRQ */
Paul Mundtb8947012012-05-18 15:34:49 +0900109#define SH_ETH0_IRQ evt2irq(0xc00)
110#define SH_ETH1_IRQ evt2irq(0xc20)
111#define SH_TSU_IRQ evt2irq(0xc40)
Nobuhiro Iwamatsuffb91ad2008-06-18 18:29:06 +0900112
Nobuhiro Iwamatsu787d9d72008-06-18 18:32:03 +0900113void init_se_IRQ(void);
114
Paul Mundt373e68b2006-09-27 15:41:24 +0900115#define __IO_PREFIX se
116#include <asm/io_generic.h>
117
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118#endif /* __ASM_SH_HITACHI_SE_H */