162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __MACH_SH2007_H
362306a36Sopenharmony_ci#define __MACH_SH2007_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#define CS5BCR		0xff802050
662306a36Sopenharmony_ci#define CS5WCR		0xff802058
762306a36Sopenharmony_ci#define CS5PCR		0xff802070
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#define BUS_SZ8		1
1062306a36Sopenharmony_ci#define BUS_SZ16	2
1162306a36Sopenharmony_ci#define BUS_SZ32	3
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#define PCMCIA_IODYN	1
1462306a36Sopenharmony_ci#define PCMCIA_ATA	0
1562306a36Sopenharmony_ci#define PCMCIA_IO8	2
1662306a36Sopenharmony_ci#define PCMCIA_IO16	3
1762306a36Sopenharmony_ci#define PCMCIA_COMM8	4
1862306a36Sopenharmony_ci#define PCMCIA_COMM16	5
1962306a36Sopenharmony_ci#define PCMCIA_ATTR8	6
2062306a36Sopenharmony_ci#define PCMCIA_ATTR16	7
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#define TYPE_SRAM	0
2362306a36Sopenharmony_ci#define TYPE_PCMCIA	4
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci/* write-read/write-write delay (0-7:0,1,2,3,4,5,6,7) */
2662306a36Sopenharmony_ci#define IWW5		0
2762306a36Sopenharmony_ci#define IWW6		3
2862306a36Sopenharmony_ci/* different area, read-write delay (0-7:0,1,2,3,4,5,6,7) */
2962306a36Sopenharmony_ci#define IWRWD5		2
3062306a36Sopenharmony_ci#define IWRWD6		2
3162306a36Sopenharmony_ci/* same area, read-write delay (0-7:0,1,2,3,4,5,6,7) */
3262306a36Sopenharmony_ci#define IWRWS5		2
3362306a36Sopenharmony_ci#define IWRWS6		2
3462306a36Sopenharmony_ci/* different area, read-read delay (0-7:0,1,2,3,4,5,6,7) */
3562306a36Sopenharmony_ci#define IWRRD5		2
3662306a36Sopenharmony_ci#define IWRRD6		2
3762306a36Sopenharmony_ci/* same area, read-read delay (0-7:0,1,2,3,4,5,6,7) */
3862306a36Sopenharmony_ci#define IWRRS5		0
3962306a36Sopenharmony_ci#define IWRRS6		2
4062306a36Sopenharmony_ci/* burst count (0-3:4,8,16,32) */
4162306a36Sopenharmony_ci#define BST5		0
4262306a36Sopenharmony_ci#define BST6		0
4362306a36Sopenharmony_ci/* bus size */
4462306a36Sopenharmony_ci#define SZ5		BUS_SZ16
4562306a36Sopenharmony_ci#define SZ6		BUS_SZ16
4662306a36Sopenharmony_ci/* RD hold for SRAM (0-1:0,1) */
4762306a36Sopenharmony_ci#define RDSPL5		0
4862306a36Sopenharmony_ci#define RDSPL6		0
4962306a36Sopenharmony_ci/* Burst pitch (0-7:0,1,2,3,4,5,6,7) */
5062306a36Sopenharmony_ci#define BW5		0
5162306a36Sopenharmony_ci#define BW6		0
5262306a36Sopenharmony_ci/* Multiplex (0-1:0,1) */
5362306a36Sopenharmony_ci#define MPX5		0
5462306a36Sopenharmony_ci#define MPX6		0
5562306a36Sopenharmony_ci/* device type */
5662306a36Sopenharmony_ci#define TYPE5		TYPE_PCMCIA
5762306a36Sopenharmony_ci#define TYPE6		TYPE_PCMCIA
5862306a36Sopenharmony_ci/* address setup before assert CSn for SRAM (0-7:0,1,2,3,4,5,6,7) */
5962306a36Sopenharmony_ci#define ADS5		0
6062306a36Sopenharmony_ci#define ADS6		0
6162306a36Sopenharmony_ci/* address hold after negate CSn for SRAM (0-7:0,1,2,3,4,5,6,7) */
6262306a36Sopenharmony_ci#define ADH5		0
6362306a36Sopenharmony_ci#define ADH6		0
6462306a36Sopenharmony_ci/* CSn assert to RD assert delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
6562306a36Sopenharmony_ci#define RDS5		0
6662306a36Sopenharmony_ci#define RDS6		0
6762306a36Sopenharmony_ci/* RD negate to CSn negate delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
6862306a36Sopenharmony_ci#define RDH5		0
6962306a36Sopenharmony_ci#define RDH6		0
7062306a36Sopenharmony_ci/* CSn assert to WE assert delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
7162306a36Sopenharmony_ci#define WTS5		0
7262306a36Sopenharmony_ci#define WTS6		0
7362306a36Sopenharmony_ci/* WE negate to CSn negate delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
7462306a36Sopenharmony_ci#define WTH5		0
7562306a36Sopenharmony_ci#define WTH6		0
7662306a36Sopenharmony_ci/* BS hold (0-1:1,2) */
7762306a36Sopenharmony_ci#define BSH5		0
7862306a36Sopenharmony_ci#define BSH6		0
7962306a36Sopenharmony_ci/* wait cycle (0-15:0,1,2,3,4,5,6,7,8,9,11,13,15,17,21,25) */
8062306a36Sopenharmony_ci#define IW5		6	/* 60ns PIO mode 4 */
8162306a36Sopenharmony_ci#define IW6		15	/* 250ns */
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci#define SAA5		PCMCIA_IODYN	/* IDE area b4000000-b5ffffff */
8462306a36Sopenharmony_ci#define SAB5		PCMCIA_IODYN	/* CF  area b6000000-b7ffffff */
8562306a36Sopenharmony_ci#define PCWA5		0	/* additional wait A (0-3:0,15,30,50) */
8662306a36Sopenharmony_ci#define PCWB5		0	/* additional wait B (0-3:0,15,30,50) */
8762306a36Sopenharmony_ci/* wait B (0-15:0,1,2,3,4,5,6,7,8,9,11,13,15,17,21,25) */
8862306a36Sopenharmony_ci#define PCIW5		12
8962306a36Sopenharmony_ci/* Address->OE/WE assert delay A (0-7:0,1,2,3,6,9,12,15) */
9062306a36Sopenharmony_ci#define TEDA5		2
9162306a36Sopenharmony_ci/* Address->OE/WE assert delay B (0-7:0,1,2,3,6,9,12,15) */
9262306a36Sopenharmony_ci#define TEDB5		4
9362306a36Sopenharmony_ci/* OE/WE negate->Address delay A (0-7:0,1,2,3,6,9,12,15) */
9462306a36Sopenharmony_ci#define TEHA5		2
9562306a36Sopenharmony_ci/* OE/WE negate->Address delay B (0-7:0,1,2,3,6,9,12,15) */
9662306a36Sopenharmony_ci#define TEHB5		3
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci#define CS5BCR_D	((IWW5<<28)|(IWRWD5<<24)|(IWRWS5<<20)|		\
9962306a36Sopenharmony_ci			(IWRRD5<<16)|(IWRRS5<<12)|(BST5<<10)|		\
10062306a36Sopenharmony_ci			(SZ5<<8)|(RDSPL5<<7)|(BW5<<4)|(MPX5<<3)|TYPE5)
10162306a36Sopenharmony_ci#define CS5WCR_D	((ADS5<<28)|(ADH5<<24)|(RDS5<<20)|	\
10262306a36Sopenharmony_ci			(RDH5<<16)|(WTS5<<12)|(WTH5<<8)|(BSH5<<4)|IW5)
10362306a36Sopenharmony_ci#define CS5PCR_D	((SAA5<<28)|(SAB5<<24)|(PCWA5<<22)|		\
10462306a36Sopenharmony_ci			(PCWB5<<20)|(PCIW5<<16)|(TEDA5<<12)|		\
10562306a36Sopenharmony_ci			(TEDB5<<8)|(TEHA5<<4)|TEHB5)
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci#define SMC0_BASE       0xb0800000      /* eth0 */
10862306a36Sopenharmony_ci#define SMC1_BASE       0xb0900000      /* eth1 */
10962306a36Sopenharmony_ci#define CF_BASE         0xb6100000      /* Compact Flash (I/O area) */
11062306a36Sopenharmony_ci#define IDE_BASE        0xb4000000      /* IDE */
11162306a36Sopenharmony_ci#define PC104_IO_BASE   0xb8000000
11262306a36Sopenharmony_ci#define PC104_MEM_BASE  0xba000000
11362306a36Sopenharmony_ci#define SMC_IO_SIZE     0x100
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci#define CF_OFFSET       0x1f0
11662306a36Sopenharmony_ci#define IDE_OFFSET      0x170
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci#endif /* __MACH_SH2007_H */
119