Linux 2.6.31.6
[linux/fpc-iii.git] / arch / arm / mach-sa1100 / include / mach / h3600.h
blob2827faa47421d3fee5cc68a9593952f6b9c2fcef
1 /*
3 * Definitions for H3600 Handheld Computer
5 * Copyright 2000 Compaq Computer Corporation.
7 * Use consistent with the GNU GPL is permitted,
8 * provided that this copyright notice is
9 * preserved in its entirety in all copies and derived works.
11 * COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED,
12 * AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS
13 * FITNESS FOR ANY PARTICULAR PURPOSE.
15 * Author: Jamey Hicks.
17 * History:
19 * 2001-10-?? Andrew Christian Added support for iPAQ H3800
23 #ifndef _INCLUDE_H3600_H_
24 #define _INCLUDE_H3600_H_
26 typedef int __bitwise pm_request_t;
28 #define PM_SUSPEND ((__force pm_request_t) 1) /* enter D1-D3 */
29 #define PM_RESUME ((__force pm_request_t) 2) /* enter D0 */
31 /* generalized support for H3xxx series Compaq Pocket PC's */
32 #define machine_is_h3xxx() (machine_is_h3100() || machine_is_h3600())
34 /* Physical memory regions corresponding to chip selects */
35 #define H3600_EGPIO_PHYS (SA1100_CS5_PHYS + 0x01000000)
36 #define H3600_BANK_2_PHYS SA1100_CS2_PHYS
37 #define H3600_BANK_4_PHYS SA1100_CS4_PHYS
39 /* Virtual memory regions corresponding to chip selects 2 & 4 (used on sleeves) */
40 #define H3600_EGPIO_VIRT 0xf0000000
41 #define H3600_BANK_2_VIRT 0xf1000000
42 #define H3600_BANK_4_VIRT 0xf3800000
45 Machine-independent GPIO definitions
46 --- these are common across all current iPAQ platforms
49 #define GPIO_H3600_NPOWER_BUTTON GPIO_GPIO (0) /* Also known as the "off button" */
51 #define GPIO_H3600_PCMCIA_CD1 GPIO_GPIO (10)
52 #define GPIO_H3600_PCMCIA_IRQ1 GPIO_GPIO (11)
54 /* UDA1341 L3 Interface */
55 #define GPIO_H3600_L3_DATA GPIO_GPIO (14)
56 #define GPIO_H3600_L3_MODE GPIO_GPIO (15)
57 #define GPIO_H3600_L3_CLOCK GPIO_GPIO (16)
59 #define GPIO_H3600_PCMCIA_CD0 GPIO_GPIO (17)
60 #define GPIO_H3600_SYS_CLK GPIO_GPIO (19)
61 #define GPIO_H3600_PCMCIA_IRQ0 GPIO_GPIO (21)
63 #define GPIO_H3600_COM_DCD GPIO_GPIO (23)
64 #define GPIO_H3600_OPT_IRQ GPIO_GPIO (24)
65 #define GPIO_H3600_COM_CTS GPIO_GPIO (25)
66 #define GPIO_H3600_COM_RTS GPIO_GPIO (26)
68 #define IRQ_GPIO_H3600_NPOWER_BUTTON IRQ_GPIO0
69 #define IRQ_GPIO_H3600_PCMCIA_CD1 IRQ_GPIO10
70 #define IRQ_GPIO_H3600_PCMCIA_IRQ1 IRQ_GPIO11
71 #define IRQ_GPIO_H3600_PCMCIA_CD0 IRQ_GPIO17
72 #define IRQ_GPIO_H3600_PCMCIA_IRQ0 IRQ_GPIO21
73 #define IRQ_GPIO_H3600_COM_DCD IRQ_GPIO23
74 #define IRQ_GPIO_H3600_OPT_IRQ IRQ_GPIO24
75 #define IRQ_GPIO_H3600_COM_CTS IRQ_GPIO25
78 #ifndef __ASSEMBLY__
80 enum ipaq_egpio_type {
81 IPAQ_EGPIO_LCD_POWER, /* Power to the LCD panel */
82 IPAQ_EGPIO_CODEC_NRESET, /* Clear to reset the audio codec (remember to return high) */
83 IPAQ_EGPIO_AUDIO_ON, /* Audio power */
84 IPAQ_EGPIO_QMUTE, /* Audio muting */
85 IPAQ_EGPIO_OPT_NVRAM_ON, /* Non-volatile RAM on extension sleeves (SPI interface) */
86 IPAQ_EGPIO_OPT_ON, /* Power to extension sleeves */
87 IPAQ_EGPIO_CARD_RESET, /* Reset PCMCIA cards on extension sleeve (???) */
88 IPAQ_EGPIO_OPT_RESET, /* Reset option pack (???) */
89 IPAQ_EGPIO_IR_ON, /* IR sensor/emitter power */
90 IPAQ_EGPIO_IR_FSEL, /* IR speed selection 1->fast, 0->slow */
91 IPAQ_EGPIO_RS232_ON, /* Maxim RS232 chip power */
92 IPAQ_EGPIO_VPP_ON, /* Turn on power to flash programming */
93 IPAQ_EGPIO_LCD_ENABLE, /* Enable/disable LCD controller */
96 extern void (*assign_h3600_egpio)(enum ipaq_egpio_type x, int level);
98 #endif /* ASSEMBLY */
100 #endif /* _INCLUDE_H3600_H_ */