18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __ASM_SH_HITACHI_SE7343_H
38c2ecf20Sopenharmony_ci#define __ASM_SH_HITACHI_SE7343_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci/*
68c2ecf20Sopenharmony_ci * include/asm-sh/se/se7343.h
78c2ecf20Sopenharmony_ci *
88c2ecf20Sopenharmony_ci * Copyright (C) 2003 Takashi Kusuda <kusuda-takashi@hitachi-ul.co.jp>
98c2ecf20Sopenharmony_ci *
108c2ecf20Sopenharmony_ci * SH-Mobile SolutionEngine 7343 support
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ci#include <linux/sh_intc.h>
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci/* Box specific addresses.  */
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci/* Area 0 */
178c2ecf20Sopenharmony_ci#define PA_ROM		0x00000000	/* EPROM */
188c2ecf20Sopenharmony_ci#define PA_ROM_SIZE	0x00400000	/* EPROM size 4M byte(Actually 2MB) */
198c2ecf20Sopenharmony_ci#define PA_FROM		0x00400000	/* Flash ROM */
208c2ecf20Sopenharmony_ci#define PA_FROM_SIZE	0x00400000	/* Flash size 4M byte */
218c2ecf20Sopenharmony_ci#define PA_SRAM		0x00800000	/* SRAM */
228c2ecf20Sopenharmony_ci#define PA_FROM_SIZE	0x00400000	/* SRAM size 4M byte */
238c2ecf20Sopenharmony_ci/* Area 1 */
248c2ecf20Sopenharmony_ci#define PA_EXT1		0x04000000
258c2ecf20Sopenharmony_ci#define PA_EXT1_SIZE	0x04000000
268c2ecf20Sopenharmony_ci/* Area 2 */
278c2ecf20Sopenharmony_ci#define PA_EXT2		0x08000000
288c2ecf20Sopenharmony_ci#define PA_EXT2_SIZE	0x04000000
298c2ecf20Sopenharmony_ci/* Area 3 */
308c2ecf20Sopenharmony_ci#define PA_SDRAM	0x0c000000
318c2ecf20Sopenharmony_ci#define PA_SDRAM_SIZE	0x04000000
328c2ecf20Sopenharmony_ci/* Area 4 */
338c2ecf20Sopenharmony_ci#define PA_PCIC		0x10000000	/* MR-SHPC-01 PCMCIA */
348c2ecf20Sopenharmony_ci#define PA_MRSHPC       0xb03fffe0      /* MR-SHPC-01 PCMCIA controller */
358c2ecf20Sopenharmony_ci#define PA_MRSHPC_MW1   0xb0400000      /* MR-SHPC-01 memory window base */
368c2ecf20Sopenharmony_ci#define PA_MRSHPC_MW2   0xb0500000      /* MR-SHPC-01 attribute window base */
378c2ecf20Sopenharmony_ci#define PA_MRSHPC_IO    0xb0600000      /* MR-SHPC-01 I/O window base */
388c2ecf20Sopenharmony_ci#define MRSHPC_OPTION   (PA_MRSHPC + 6)
398c2ecf20Sopenharmony_ci#define MRSHPC_CSR      (PA_MRSHPC + 8)
408c2ecf20Sopenharmony_ci#define MRSHPC_ISR      (PA_MRSHPC + 10)
418c2ecf20Sopenharmony_ci#define MRSHPC_ICR      (PA_MRSHPC + 12)
428c2ecf20Sopenharmony_ci#define MRSHPC_CPWCR    (PA_MRSHPC + 14)
438c2ecf20Sopenharmony_ci#define MRSHPC_MW0CR1   (PA_MRSHPC + 16)
448c2ecf20Sopenharmony_ci#define MRSHPC_MW1CR1   (PA_MRSHPC + 18)
458c2ecf20Sopenharmony_ci#define MRSHPC_IOWCR1   (PA_MRSHPC + 20)
468c2ecf20Sopenharmony_ci#define MRSHPC_MW0CR2   (PA_MRSHPC + 22)
478c2ecf20Sopenharmony_ci#define MRSHPC_MW1CR2   (PA_MRSHPC + 24)
488c2ecf20Sopenharmony_ci#define MRSHPC_IOWCR2   (PA_MRSHPC + 26)
498c2ecf20Sopenharmony_ci#define MRSHPC_CDCR     (PA_MRSHPC + 28)
508c2ecf20Sopenharmony_ci#define MRSHPC_PCIC_INFO (PA_MRSHPC + 30)
518c2ecf20Sopenharmony_ci#define PA_LED		0xb0C00000	/* LED */
528c2ecf20Sopenharmony_ci#define LED_SHIFT       0
538c2ecf20Sopenharmony_ci#define PA_DIPSW	0xb0900000	/* Dip switch 31 */
548c2ecf20Sopenharmony_ci/* Area 5 */
558c2ecf20Sopenharmony_ci#define PA_EXT5		0x14000000
568c2ecf20Sopenharmony_ci#define PA_EXT5_SIZE	0x04000000
578c2ecf20Sopenharmony_ci/* Area 6 */
588c2ecf20Sopenharmony_ci#define PA_LCD1		0xb8000000
598c2ecf20Sopenharmony_ci#define PA_LCD2		0xb8800000
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci#define PORT_PACR	0xA4050100
628c2ecf20Sopenharmony_ci#define PORT_PBCR	0xA4050102
638c2ecf20Sopenharmony_ci#define PORT_PCCR	0xA4050104
648c2ecf20Sopenharmony_ci#define PORT_PDCR	0xA4050106
658c2ecf20Sopenharmony_ci#define PORT_PECR	0xA4050108
668c2ecf20Sopenharmony_ci#define PORT_PFCR	0xA405010A
678c2ecf20Sopenharmony_ci#define PORT_PGCR	0xA405010C
688c2ecf20Sopenharmony_ci#define PORT_PHCR	0xA405010E
698c2ecf20Sopenharmony_ci#define PORT_PJCR	0xA4050110
708c2ecf20Sopenharmony_ci#define PORT_PKCR	0xA4050112
718c2ecf20Sopenharmony_ci#define PORT_PLCR	0xA4050114
728c2ecf20Sopenharmony_ci#define PORT_PMCR	0xA4050116
738c2ecf20Sopenharmony_ci#define PORT_PNCR	0xA4050118
748c2ecf20Sopenharmony_ci#define PORT_PQCR	0xA405011A
758c2ecf20Sopenharmony_ci#define PORT_PRCR	0xA405011C
768c2ecf20Sopenharmony_ci#define PORT_PSCR	0xA405011E
778c2ecf20Sopenharmony_ci#define PORT_PTCR	0xA4050140
788c2ecf20Sopenharmony_ci#define PORT_PUCR	0xA4050142
798c2ecf20Sopenharmony_ci#define PORT_PVCR	0xA4050144
808c2ecf20Sopenharmony_ci#define PORT_PWCR	0xA4050146
818c2ecf20Sopenharmony_ci#define PORT_PYCR	0xA4050148
828c2ecf20Sopenharmony_ci#define PORT_PZCR	0xA405014A
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci#define PORT_PSELA	0xA405014C
858c2ecf20Sopenharmony_ci#define PORT_PSELB	0xA405014E
868c2ecf20Sopenharmony_ci#define PORT_PSELC	0xA4050150
878c2ecf20Sopenharmony_ci#define PORT_PSELD	0xA4050152
888c2ecf20Sopenharmony_ci#define PORT_PSELE	0xA4050154
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci#define PORT_HIZCRA	0xA4050156
918c2ecf20Sopenharmony_ci#define PORT_HIZCRB	0xA4050158
928c2ecf20Sopenharmony_ci#define PORT_HIZCRC	0xA405015C
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci#define PORT_DRVCR	0xA4050180
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci#define PORT_PADR	0xA4050120
978c2ecf20Sopenharmony_ci#define PORT_PBDR	0xA4050122
988c2ecf20Sopenharmony_ci#define PORT_PCDR	0xA4050124
998c2ecf20Sopenharmony_ci#define PORT_PDDR	0xA4050126
1008c2ecf20Sopenharmony_ci#define PORT_PEDR	0xA4050128
1018c2ecf20Sopenharmony_ci#define PORT_PFDR	0xA405012A
1028c2ecf20Sopenharmony_ci#define PORT_PGDR	0xA405012C
1038c2ecf20Sopenharmony_ci#define PORT_PHDR	0xA405012E
1048c2ecf20Sopenharmony_ci#define PORT_PJDR	0xA4050130
1058c2ecf20Sopenharmony_ci#define PORT_PKDR	0xA4050132
1068c2ecf20Sopenharmony_ci#define PORT_PLDR	0xA4050134
1078c2ecf20Sopenharmony_ci#define PORT_PMDR	0xA4050136
1088c2ecf20Sopenharmony_ci#define PORT_PNDR	0xA4050138
1098c2ecf20Sopenharmony_ci#define PORT_PQDR	0xA405013A
1108c2ecf20Sopenharmony_ci#define PORT_PRDR	0xA405013C
1118c2ecf20Sopenharmony_ci#define PORT_PTDR	0xA4050160
1128c2ecf20Sopenharmony_ci#define PORT_PUDR	0xA4050162
1138c2ecf20Sopenharmony_ci#define PORT_PVDR	0xA4050164
1148c2ecf20Sopenharmony_ci#define PORT_PWDR	0xA4050166
1158c2ecf20Sopenharmony_ci#define PORT_PYDR	0xA4050168
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci#define FPGA_IN		0xb1400000
1188c2ecf20Sopenharmony_ci#define FPGA_OUT	0xb1400002
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci#define IRQ0_IRQ        evt2irq(0x600)
1218c2ecf20Sopenharmony_ci#define IRQ1_IRQ        evt2irq(0x620)
1228c2ecf20Sopenharmony_ci#define IRQ4_IRQ        evt2irq(0x680)
1238c2ecf20Sopenharmony_ci#define IRQ5_IRQ        evt2irq(0x6a0)
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_MRSHPC0	0
1268c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_MRSHPC1	1
1278c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_MRSHPC2	2
1288c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_MRSHPC3	3
1298c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_SMC	6	/* EXT_IRQ2 */
1308c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_USB	8
1318c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_UARTA	10
1328c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_UARTB	11
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci#define SE7343_FPGA_IRQ_NR	12
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_cistruct irq_domain;
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci/* arch/sh/boards/se/7343/irq.c */
1398c2ecf20Sopenharmony_ciextern struct irq_domain *se7343_irq_domain;
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_civoid init_7343se_IRQ(void);
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci#endif  /* __ASM_SH_HITACHI_SE7343_H */
144