162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __ASM_SH_RENESAS_SDK7780_H
362306a36Sopenharmony_ci#define __ASM_SH_RENESAS_SDK7780_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/*
662306a36Sopenharmony_ci * linux/include/asm-sh/sdk7780.h
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * Renesas Solutions SH7780 SDK Support
962306a36Sopenharmony_ci * Copyright (C) 2008 Nicholas Beck <nbeck@mpc-data.co.uk>
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci#include <linux/sh_intc.h>
1262306a36Sopenharmony_ci#include <asm/addrspace.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/* Box specific addresses.  */
1562306a36Sopenharmony_ci#define SE_AREA0_WIDTH	4		/* Area0: 32bit */
1662306a36Sopenharmony_ci#define PA_ROM			0xa0000000	/* EPROM */
1762306a36Sopenharmony_ci#define PA_ROM_SIZE		0x00400000	/* EPROM size 4M byte */
1862306a36Sopenharmony_ci#define PA_FROM			0xa0800000	/* Flash-ROM */
1962306a36Sopenharmony_ci#define PA_FROM_SIZE	0x00400000	/* Flash-ROM size 4M byte */
2062306a36Sopenharmony_ci#define PA_EXT1			0xa4000000
2162306a36Sopenharmony_ci#define PA_EXT1_SIZE	0x04000000
2262306a36Sopenharmony_ci#define PA_SDRAM		0xa8000000	/* DDR-SDRAM(Area2/3) 128MB */
2362306a36Sopenharmony_ci#define PA_SDRAM_SIZE	0x08000000
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#define PA_EXT4			0xb0000000
2662306a36Sopenharmony_ci#define PA_EXT4_SIZE	0x04000000
2762306a36Sopenharmony_ci#define PA_EXT_USER		PA_EXT4		/* User Expansion Space */
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci#define PA_PERIPHERAL	PA_AREA5_IO
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci/* SRAM/Reserved */
3262306a36Sopenharmony_ci#define PA_RESERVED	(PA_PERIPHERAL + 0)
3362306a36Sopenharmony_ci/* FPGA base address */
3462306a36Sopenharmony_ci#define PA_FPGA		(PA_PERIPHERAL + 0x01000000)
3562306a36Sopenharmony_ci/* SMC LAN91C111 */
3662306a36Sopenharmony_ci#define PA_LAN		(PA_PERIPHERAL + 0x01800000)
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define FPGA_SRSTR      (PA_FPGA + 0x000)	/* System reset */
4062306a36Sopenharmony_ci#define FPGA_IRQ0SR     (PA_FPGA + 0x010)	/* IRQ0 status */
4162306a36Sopenharmony_ci#define FPGA_IRQ0MR     (PA_FPGA + 0x020)	/* IRQ0 mask */
4262306a36Sopenharmony_ci#define FPGA_BDMR       (PA_FPGA + 0x030)	/* Board operating mode */
4362306a36Sopenharmony_ci#define FPGA_INTT0PRTR  (PA_FPGA + 0x040)	/* Interrupt test mode0 port */
4462306a36Sopenharmony_ci#define FPGA_INTT0SELR  (PA_FPGA + 0x050)	/* Int. test mode0 select */
4562306a36Sopenharmony_ci#define FPGA_INTT1POLR  (PA_FPGA + 0x060)	/* Int. test mode0 polarity */
4662306a36Sopenharmony_ci#define FPGA_NMIR       (PA_FPGA + 0x070)	/* NMI source */
4762306a36Sopenharmony_ci#define FPGA_NMIMR      (PA_FPGA + 0x080)	/* NMI mask */
4862306a36Sopenharmony_ci#define FPGA_IRQR       (PA_FPGA + 0x090)	/* IRQX source */
4962306a36Sopenharmony_ci#define FPGA_IRQMR      (PA_FPGA + 0x0A0)	/* IRQX mask */
5062306a36Sopenharmony_ci#define FPGA_SLEDR      (PA_FPGA + 0x0B0)	/* LED control */
5162306a36Sopenharmony_ci#define PA_LED			FPGA_SLEDR
5262306a36Sopenharmony_ci#define FPGA_MAPSWR     (PA_FPGA + 0x0C0)	/* Map switch */
5362306a36Sopenharmony_ci#define FPGA_FPVERR     (PA_FPGA + 0x0D0)	/* FPGA version */
5462306a36Sopenharmony_ci#define FPGA_FPDATER    (PA_FPGA + 0x0E0)	/* FPGA date */
5562306a36Sopenharmony_ci#define FPGA_RSE        (PA_FPGA + 0x100)	/* Reset source */
5662306a36Sopenharmony_ci#define FPGA_EASR       (PA_FPGA + 0x110)	/* External area select */
5762306a36Sopenharmony_ci#define FPGA_SPER       (PA_FPGA + 0x120)	/* Serial port enable */
5862306a36Sopenharmony_ci#define FPGA_IMSR       (PA_FPGA + 0x130)	/* Interrupt mode select */
5962306a36Sopenharmony_ci#define FPGA_PCIMR      (PA_FPGA + 0x140)	/* PCI Mode */
6062306a36Sopenharmony_ci#define FPGA_DIPSWMR    (PA_FPGA + 0x150)	/* DIPSW monitor */
6162306a36Sopenharmony_ci#define FPGA_FPODR      (PA_FPGA + 0x160)	/* Output port data */
6262306a36Sopenharmony_ci#define FPGA_ATAESR     (PA_FPGA + 0x170)	/* ATA extended bus status */
6362306a36Sopenharmony_ci#define FPGA_IRQPOLR    (PA_FPGA + 0x180)	/* IRQx polarity */
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci#define SDK7780_NR_IRL			15
6762306a36Sopenharmony_ci/* IDE/ATA interrupt */
6862306a36Sopenharmony_ci#define IRQ_CFCARD			evt2irq(0x3c0)
6962306a36Sopenharmony_ci/* SMC interrupt */
7062306a36Sopenharmony_ci#define IRQ_ETHERNET			evt2irq(0x2c0)
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci/* arch/sh/boards/renesas/sdk7780/irq.c */
7462306a36Sopenharmony_civoid init_sdk7780_IRQ(void);
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci#define __IO_PREFIX		sdk7780
7762306a36Sopenharmony_ci#include <asm/io_generic.h>
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci#endif  /* __ASM_SH_RENESAS_SDK7780_H */
80