18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __ASM_SH_SE7722_H
38c2ecf20Sopenharmony_ci#define __ASM_SH_SE7722_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci/*
68c2ecf20Sopenharmony_ci * linux/include/asm-sh/se7722.h
78c2ecf20Sopenharmony_ci *
88c2ecf20Sopenharmony_ci * Copyright (C) 2007  Nobuhiro Iwamatsu
98c2ecf20Sopenharmony_ci *
108c2ecf20Sopenharmony_ci * Hitachi UL SolutionEngine 7722 Support.
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ci#include <linux/sh_intc.h>
138c2ecf20Sopenharmony_ci#include <asm/addrspace.h>
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci/* Box specific addresses.  */
168c2ecf20Sopenharmony_ci#define SE_AREA0_WIDTH	4		/* Area0: 32bit */
178c2ecf20Sopenharmony_ci#define PA_ROM		0xa0000000	/* EPROM */
188c2ecf20Sopenharmony_ci#define PA_ROM_SIZE	0x00200000	/* EPROM size 2M byte */
198c2ecf20Sopenharmony_ci#define PA_FROM		0xa1000000	/* Flash-ROM */
208c2ecf20Sopenharmony_ci#define PA_FROM_SIZE	0x01000000	/* Flash-ROM size 16M byte */
218c2ecf20Sopenharmony_ci#define PA_EXT1		0xa4000000
228c2ecf20Sopenharmony_ci#define PA_EXT1_SIZE	0x04000000
238c2ecf20Sopenharmony_ci#define PA_SDRAM	0xaC000000	/* DDR-SDRAM(Area3) 64MB */
248c2ecf20Sopenharmony_ci#define PA_SDRAM_SIZE	0x04000000
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define PA_EXT4		0xb0000000
278c2ecf20Sopenharmony_ci#define PA_EXT4_SIZE	0x04000000
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci#define PA_PERIPHERAL	0xB0000000
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci#define PA_PCIC         PA_PERIPHERAL		/* MR-SHPC-01 PCMCIA */
328c2ecf20Sopenharmony_ci#define PA_MRSHPC       (PA_PERIPHERAL + 0x003fffe0)    /* MR-SHPC-01 PCMCIA controller */
338c2ecf20Sopenharmony_ci#define PA_MRSHPC_MW1   (PA_PERIPHERAL + 0x00400000)    /* MR-SHPC-01 memory window base */
348c2ecf20Sopenharmony_ci#define PA_MRSHPC_MW2   (PA_PERIPHERAL + 0x00500000)    /* MR-SHPC-01 attribute window base */
358c2ecf20Sopenharmony_ci#define PA_MRSHPC_IO    (PA_PERIPHERAL + 0x00600000)    /* MR-SHPC-01 I/O window base */
368c2ecf20Sopenharmony_ci#define MRSHPC_OPTION   (PA_MRSHPC + 6)
378c2ecf20Sopenharmony_ci#define MRSHPC_CSR      (PA_MRSHPC + 8)
388c2ecf20Sopenharmony_ci#define MRSHPC_ISR      (PA_MRSHPC + 10)
398c2ecf20Sopenharmony_ci#define MRSHPC_ICR      (PA_MRSHPC + 12)
408c2ecf20Sopenharmony_ci#define MRSHPC_CPWCR    (PA_MRSHPC + 14)
418c2ecf20Sopenharmony_ci#define MRSHPC_MW0CR1   (PA_MRSHPC + 16)
428c2ecf20Sopenharmony_ci#define MRSHPC_MW1CR1   (PA_MRSHPC + 18)
438c2ecf20Sopenharmony_ci#define MRSHPC_IOWCR1   (PA_MRSHPC + 20)
448c2ecf20Sopenharmony_ci#define MRSHPC_MW0CR2   (PA_MRSHPC + 22)
458c2ecf20Sopenharmony_ci#define MRSHPC_MW1CR2   (PA_MRSHPC + 24)
468c2ecf20Sopenharmony_ci#define MRSHPC_IOWCR2   (PA_MRSHPC + 26)
478c2ecf20Sopenharmony_ci#define MRSHPC_CDCR     (PA_MRSHPC + 28)
488c2ecf20Sopenharmony_ci#define MRSHPC_PCIC_INFO (PA_MRSHPC + 30)
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci#define PA_LED		(PA_PERIPHERAL + 0x00800000)	/* 8bit LED */
518c2ecf20Sopenharmony_ci#define PA_FPGA		(PA_PERIPHERAL + 0x01800000)	/* FPGA base address */
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci#define PA_LAN		(PA_AREA6_IO + 0)		/* SMC LAN91C111 */
548c2ecf20Sopenharmony_ci/* GPIO */
558c2ecf20Sopenharmony_ci#define FPGA_IN         0xb1840000UL
568c2ecf20Sopenharmony_ci#define FPGA_OUT        0xb1840004UL
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci#define PORT_PECR       0xA4050108UL
598c2ecf20Sopenharmony_ci#define PORT_PJCR       0xA4050110UL
608c2ecf20Sopenharmony_ci#define PORT_PSELD      0xA4050154UL
618c2ecf20Sopenharmony_ci#define PORT_PSELB      0xA4050150UL
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci#define PORT_PSELC      0xA4050152UL
648c2ecf20Sopenharmony_ci#define PORT_PKCR       0xA4050112UL
658c2ecf20Sopenharmony_ci#define PORT_PHCR       0xA405010EUL
668c2ecf20Sopenharmony_ci#define PORT_PLCR       0xA4050114UL
678c2ecf20Sopenharmony_ci#define PORT_PMCR       0xA4050116UL
688c2ecf20Sopenharmony_ci#define PORT_PRCR       0xA405011CUL
698c2ecf20Sopenharmony_ci#define PORT_PXCR       0xA4050148UL
708c2ecf20Sopenharmony_ci#define PORT_PSELA      0xA405014EUL
718c2ecf20Sopenharmony_ci#define PORT_PYCR       0xA405014AUL
728c2ecf20Sopenharmony_ci#define PORT_PZCR       0xA405014CUL
738c2ecf20Sopenharmony_ci#define PORT_HIZCRA     0xA4050158UL
748c2ecf20Sopenharmony_ci#define PORT_HIZCRC     0xA405015CUL
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci/* IRQ */
778c2ecf20Sopenharmony_ci#define IRQ0_IRQ        evt2irq(0x600)
788c2ecf20Sopenharmony_ci#define IRQ1_IRQ        evt2irq(0x620)
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_USB	0 /* IRQ0 */
818c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_SMC	1 /* IRQ0 */
828c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_MRSHPC0	2 /* IRQ1 */
838c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_MRSHPC1	3 /* IRQ1 */
848c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_MRSHPC2	4 /* IRQ1 */
858c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_MRSHPC3	5 /* IRQ1 */
868c2ecf20Sopenharmony_ci#define SE7722_FPGA_IRQ_NR	6
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_cistruct irq_domain;
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci/* arch/sh/boards/se/7722/irq.c */
918c2ecf20Sopenharmony_ciextern struct irq_domain *se7722_irq_domain;
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_civoid init_se7722_IRQ(void);
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci#define __IO_PREFIX		se7722
968c2ecf20Sopenharmony_ci#include <asm/io_generic.h>
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci#endif  /* __ASM_SH_SE7722_H */
99