1/* 2 * linux/include/asm-arm/arch-sa1100/pfs168.h 3 * 4 * Created 2000/06/05 by Nicolas Pitre <nico@cam.org> 5 * 6 * This file contains the hardware specific definitions for PFS-168 7 * 8 */ 9 10#ifndef __ASM_ARCH_HARDWARE_H 11#error "include <asm/hardware.h> instead" 12#endif 13 14 15/* GPIOs for which the generic definition doesn't say much */ 16#define GPIO_RADIO_IRQ GPIO_GPIO (14) /* Radio interrupt request */ 17#define GPIO_L3_I2C_SDA GPIO_GPIO (15) /* L3 and SMB control ports */ 18#define GPIO_PS_MODE_SYNC GPIO_GPIO (16) /* Power supply mode/sync */ 19#define GPIO_L3_MODE GPIO_GPIO (17) /* L3 mode signal with LED */ 20#define GPIO_L3_I2C_SCL GPIO_GPIO (18) /* L3 and I2C control ports */ 21#define GPIO_STEREO_64FS_CLK GPIO_GPIO (19) /* SSP UDA1341 clock input */ 22#define GPIO_CF_IRQ GPIO_GPIO (21) /* CF IRQ */ 23#define GPIO_MBGNT GPIO_GPIO (21) /* 1111 MBGNT */ 24#define GPIO_CF_CD GPIO_GPIO (22) /* CF CD */ 25#define GPIO_MBREQ GPIO_GPIO (22) /* 1111 MBREQ */ 26#define GPIO_UCB1300_IRQ GPIO_GPIO (23) /* UCB GPIO and touchscreen */ 27#define GPIO_CF_BVD2 GPIO_GPIO (24) /* CF BVD */ 28#define GPIO_GFX_IRQ GPIO_GPIO (24) /* Graphics IRQ */ 29#define GPIO_CF_BVD1 GPIO_GPIO (25) /* CF BVD */ 30#define GPIO_NEP_IRQ GPIO_GPIO (25) /* Neponset IRQ */ 31#define GPIO_BATT_LOW GPIO_GPIO (26) /* Low battery */ 32#define GPIO_RCLK GPIO_GPIO (26) /* CCLK/2 */ 33 34#define IRQ_GPIO_CF_IRQ IRQ_GPIO21 35#define IRQ_GPIO_CF_CD IRQ_GPIO22 36#define IRQ_GPIO_MBREQ IRQ_GPIO22 37#define IRQ_GPIO_UCB1300_IRQ IRQ_GPIO23 38#define IRQ_GPIO_CF_BVD2 IRQ_GPIO24 39#define IRQ_GPIO_CF_BVD1 IRQ_GPIO25 40#define IRQ_GPIO_NEP_IRQ IRQ_GPIO25 41 42 43/* 44 * PFS-168 definitions: 45 */ 46 47#define PFS168_SA1111_BASE (0x40000000) 48 49#ifndef __ASSEMBLY__ 50#define machine_has_neponset() (0) 51 52#define PFS168_COM5_VBASE (*((volatile unsigned char *)(0xf0000000UL))) 53#define PFS168_COM6_VBASE (*((volatile unsigned char *)(0xf0001000UL))) 54#define PFS168_SYSC1RTS (*((volatile unsigned char *)(0xf0002000UL))) 55#define PFS168_SYSLED (*((volatile unsigned char *)(0xf0003000UL))) 56#define PFS168_SYSDTMF (*((volatile unsigned char *)(0xf0004000UL))) 57#define PFS168_SYSLCDDE (*((volatile unsigned char *)(0xf0005000UL))) 58#define PFS168_SYSC1DSR (*((volatile unsigned char *)(0xf0006000UL))) 59#define PFS168_SYSC3TEN (*((volatile unsigned char *)(0xf0007000UL))) 60#define PFS168_SYSCTLA (*((volatile unsigned char *)(0xf0008000UL))) 61#define PFS168_SYSCTLB (*((volatile unsigned char *)(0xf0009000UL))) 62#define PFS168_ETH_VBASE (*((volatile unsigned char *)(0xf000a000UL))) 63#endif 64 65#define PFS168_SYSLCDDE_STNDE (1<<0) /* CSTN display enable/disable (1/0) */ 66#define PFS168_SYSLCDDE_DESEL (1<<0) /* Active/Passive (1/0) display enable mode */ 67 68#define PFS168_SYSCTLA_BKLT (1<<0) /* LCD backlight invert on/off (1/0) */ 69#define PFS168_SYSCTLA_RLY (1<<1) /* Relay on/off (1/0) */ 70#define PFS168_SYSCTLA_PXON (1<<2) /* Opto relay connect/disconnect 1/0) */ 71#define PFS168_SYSCTLA_IRDA_FSEL (1<<3) /* IRDA Frequency select (0 = SIR, 1 = MIR/ FIR) */ 72 73#define PFS168_SYSCTLB_MG1 (1<<0) /* Motion detector gain select */ 74#define PFS168_SYSCTLB_MG0 (1<<1) /* Motion detector gain select */ 75#define PFS168_SYSCTLB_IRDA_MD1 (1<<2) /* Range/Power select */ 76#define PFS168_SYSCTLB_IRDA_MD0 (1<<3) /* Range/Power select */ 77#define PFS168_SYSCTLB_IRDA_MD_MASK (PFS168_SYSCTLB_IRDA_MD1|PFS168_SYSCTLB_IRDA_MD0) 78