forked from Minki/linux
3a59826443
This patch series adds support for ITO Co., Ltd.'s SH-2007 reference platform (A PC-104 based SH7780 platform). This is a direct port of the out-of-tree board support from the vendor's kernel, originally located at: http://ms-n.org/sh-linux/kernel/ More information on the board and the vendor can be obtained from the vendor's site at: http://www.itonet.co.jp/ Presently supported peripherals are CF and ethernet, with support for the on-board IDE still pending further testing. Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Reviewed-by: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
118 lines
3.4 KiB
C
118 lines
3.4 KiB
C
#ifndef __MACH_SH2007_H
|
|
#define __MACH_SH2007_H
|
|
|
|
#define CS5BCR 0xff802050
|
|
#define CS5WCR 0xff802058
|
|
#define CS5PCR 0xff802070
|
|
|
|
#define BUS_SZ8 1
|
|
#define BUS_SZ16 2
|
|
#define BUS_SZ32 3
|
|
|
|
#define PCMCIA_IODYN 1
|
|
#define PCMCIA_ATA 0
|
|
#define PCMCIA_IO8 2
|
|
#define PCMCIA_IO16 3
|
|
#define PCMCIA_COMM8 4
|
|
#define PCMCIA_COMM16 5
|
|
#define PCMCIA_ATTR8 6
|
|
#define PCMCIA_ATTR16 7
|
|
|
|
#define TYPE_SRAM 0
|
|
#define TYPE_PCMCIA 4
|
|
|
|
/* write-read/write-write delay (0-7:0,1,2,3,4,5,6,7) */
|
|
#define IWW5 0
|
|
#define IWW6 3
|
|
/* different area, read-write delay (0-7:0,1,2,3,4,5,6,7) */
|
|
#define IWRWD5 2
|
|
#define IWRWD6 2
|
|
/* same area, read-write delay (0-7:0,1,2,3,4,5,6,7) */
|
|
#define IWRWS5 2
|
|
#define IWRWS6 2
|
|
/* different area, read-read delay (0-7:0,1,2,3,4,5,6,7) */
|
|
#define IWRRD5 2
|
|
#define IWRRD6 2
|
|
/* same area, read-read delay (0-7:0,1,2,3,4,5,6,7) */
|
|
#define IWRRS5 0
|
|
#define IWRRS6 2
|
|
/* burst count (0-3:4,8,16,32) */
|
|
#define BST5 0
|
|
#define BST6 0
|
|
/* bus size */
|
|
#define SZ5 BUS_SZ16
|
|
#define SZ6 BUS_SZ16
|
|
/* RD hold for SRAM (0-1:0,1) */
|
|
#define RDSPL5 0
|
|
#define RDSPL6 0
|
|
/* Burst pitch (0-7:0,1,2,3,4,5,6,7) */
|
|
#define BW5 0
|
|
#define BW6 0
|
|
/* Multiplex (0-1:0,1) */
|
|
#define MPX5 0
|
|
#define MPX6 0
|
|
/* device type */
|
|
#define TYPE5 TYPE_PCMCIA
|
|
#define TYPE6 TYPE_PCMCIA
|
|
/* address setup before assert CSn for SRAM (0-7:0,1,2,3,4,5,6,7) */
|
|
#define ADS5 0
|
|
#define ADS6 0
|
|
/* address hold after negate CSn for SRAM (0-7:0,1,2,3,4,5,6,7) */
|
|
#define ADH5 0
|
|
#define ADH6 0
|
|
/* CSn assert to RD assert delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
|
|
#define RDS5 0
|
|
#define RDS6 0
|
|
/* RD negate to CSn negate delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
|
|
#define RDH5 0
|
|
#define RDH6 0
|
|
/* CSn assert to WE assert delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
|
|
#define WTS5 0
|
|
#define WTS6 0
|
|
/* WE negate to CSn negate delay for SRAM (0-7:0,1,2,3,4,5,6,7) */
|
|
#define WTH5 0
|
|
#define WTH6 0
|
|
/* BS hold (0-1:1,2) */
|
|
#define BSH5 0
|
|
#define BSH6 0
|
|
/* wait cycle (0-15:0,1,2,3,4,5,6,7,8,9,11,13,15,17,21,25) */
|
|
#define IW5 6 /* 60ns PIO mode 4 */
|
|
#define IW6 15 /* 250ns */
|
|
|
|
#define SAA5 PCMCIA_IODYN /* IDE area b4000000-b5ffffff */
|
|
#define SAB5 PCMCIA_IODYN /* CF area b6000000-b7ffffff */
|
|
#define PCWA5 0 /* additional wait A (0-3:0,15,30,50) */
|
|
#define PCWB5 0 /* additional wait B (0-3:0,15,30,50) */
|
|
/* wait B (0-15:0,1,2,3,4,5,6,7,8,9,11,13,15,17,21,25) */
|
|
#define PCIW5 12
|
|
/* Address->OE/WE assert delay A (0-7:0,1,2,3,6,9,12,15) */
|
|
#define TEDA5 2
|
|
/* Address->OE/WE assert delay B (0-7:0,1,2,3,6,9,12,15) */
|
|
#define TEDB5 4
|
|
/* OE/WE negate->Address delay A (0-7:0,1,2,3,6,9,12,15) */
|
|
#define TEHA5 2
|
|
/* OE/WE negate->Address delay B (0-7:0,1,2,3,6,9,12,15) */
|
|
#define TEHB5 3
|
|
|
|
#define CS5BCR_D ((IWW5<<28)|(IWRWD5<<24)|(IWRWS5<<20)| \
|
|
(IWRRD5<<16)|(IWRRS5<<12)|(BST5<<10)| \
|
|
(SZ5<<8)|(RDSPL5<<7)|(BW5<<4)|(MPX5<<3)|TYPE5)
|
|
#define CS5WCR_D ((ADS5<<28)|(ADH5<<24)|(RDS5<<20)| \
|
|
(RDH5<<16)|(WTS5<<12)|(WTH5<<8)|(BSH5<<4)|IW5)
|
|
#define CS5PCR_D ((SAA5<<28)|(SAB5<<24)|(PCWA5<<22)| \
|
|
(PCWB5<<20)|(PCIW5<<16)|(TEDA5<<12)| \
|
|
(TEDB5<<8)|(TEHA5<<4)|TEHB5)
|
|
|
|
#define SMC0_BASE 0xb0800000 /* eth0 */
|
|
#define SMC1_BASE 0xb0900000 /* eth1 */
|
|
#define CF_BASE 0xb6100000 /* Compact Flash (I/O area) */
|
|
#define IDE_BASE 0xb4000000 /* IDE */
|
|
#define PC104_IO_BASE 0xb8000000
|
|
#define PC104_MEM_BASE 0xba000000
|
|
#define SMC_IO_SIZE 0x100
|
|
|
|
#define CF_OFFSET 0x1f0
|
|
#define IDE_OFFSET 0x170
|
|
|
|
#endif /* __MACH_SH2007_H */
|