3d7606e9baf06da3d10027b557e88382e50f7463
[openwrt/svn-archive/archive.git] / target / linux / s3c24xx / files-2.6.30 / arch / arm / mach-s3c2442 / include / mach / gta02.h
1 #ifndef _GTA02_H
2 #define _GTA02_H
3
4 #include <mach/regs-gpio.h>
5 #include <mach/gpio.h>
6 #include <mach/irqs.h>
7
8 /* Different hardware revisions, passed in ATAG_REVISION by u-boot */
9 #define GTA02v1_SYSTEM_REV 0x00000310
10 #define GTA02v2_SYSTEM_REV 0x00000320
11 #define GTA02v3_SYSTEM_REV 0x00000330
12 #define GTA02v4_SYSTEM_REV 0x00000340
13 #define GTA02v5_SYSTEM_REV 0x00000350
14 #define GTA02v6_SYSTEM_REV 0x00000360
15
16 #define GTA02_GPIO_n3DL_GSM S3C2410_GPA13 /* v1 + v2 + v3 only */
17
18 #define GTA02_GPIO_PWR_LED1 S3C2410_GPB0
19 #define GTA02_GPIO_PWR_LED2 S3C2410_GPB1
20 #define GTA02_GPIO_AUX_LED S3C2410_GPB2
21 #define GTA02_GPIO_VIBRATOR_ON S3C2410_GPB3
22 #define GTA02_GPIO_MODEM_RST S3C2410_GPB5
23 #define GTA02_GPIO_BT_EN S3C2410_GPB6
24 #define GTA02_GPIO_MODEM_ON S3C2410_GPB7
25 #define GTA02_GPIO_EXTINT8 S3C2410_GPB8
26 #define GTA02_GPIO_USB_PULLUP S3C2410_GPB9
27
28 #define GTA02_GPIO_PIO5 S3C2410_GPC5 /* v3 + v4 only */
29 #define GTA02v3_GPIO_nG1_CS S3C2410_GPD12 /* v3 + v4 only */
30 #define GTA02v3_GPIO_nG2_CS S3C2410_GPD13 /* v3 + v4 only */
31 #define GTA02v5_GPIO_HDQ S3C2410_GPD14 /* v5 + */
32
33 #define GTA02_GPIO_nG1_INT S3C2410_GPF0
34 #define GTA02_GPIO_IO1 S3C2410_GPF1
35 #define GTA02_GPIO_PIO_2 S3C2410_GPF2 /* v2 + v3 + v4 only */
36 #define GTA02_GPIO_JACK_INSERT S3C2410_GPF4
37 #define GTA02_GPIO_WLAN_GPIO1 S3C2410_GPF5 /* v2 + v3 + v4 only */
38 #define GTA02_GPIO_AUX_KEY S3C2410_GPF6
39 #define GTA02_GPIO_HOLD_KEY S3C2410_GPF7
40
41 #define GTA02_GPIO_3D_IRQ S3C2410_GPG4
42 #define GTA02v2_GPIO_nG2_INT S3C2410_GPG8 /* v2 + v3 + v4 only */
43 #define GTA02v3_GPIO_nUSB_OC S3C2410_GPG9 /* v3 + v4 only */
44 #define GTA02v3_GPIO_nUSB_FLT S3C2410_GPG10 /* v3 + v4 only */
45 #define GTA02v3_GPIO_nGSM_OC S3C2410_GPG11 /* v3 + v4 only */
46
47 #define GTA02_GPIO_AMP_SHUT S3C2440_GPJ1 /* v2 + v3 + v4 only */
48 #define GTA02v1_GPIO_WLAN_GPIO10 S3C2440_GPJ2
49 #define GTA02_GPIO_HP_IN S3C2440_GPJ2 /* v2 + v3 + v4 only */
50 #define GTA02_GPIO_INT0 S3C2440_GPJ3 /* v2 + v3 + v4 only */
51 #define GTA02_GPIO_nGSM_EN S3C2440_GPJ4
52 #define GTA02_GPIO_3D_RESET S3C2440_GPJ5
53 #define GTA02_GPIO_nDL_GSM S3C2440_GPJ6 /* v4 + v5 only */
54 #define GTA02_GPIO_WLAN_GPIO0 S3C2440_GPJ7
55 #define GTA02v1_GPIO_BAT_ID S3C2440_GPJ8
56 #define GTA02_GPIO_KEEPACT S3C2440_GPJ8
57 #define GTA02v1_GPIO_HP_IN S3C2440_GPJ10
58 #define GTA02_CHIP_PWD S3C2440_GPJ11 /* v2 + v3 + v4 only */
59 #define GTA02_GPIO_nWLAN_RESET S3C2440_GPJ12 /* v2 + v3 + v4 only */
60
61 #define GTA02_IRQ_GSENSOR_1 IRQ_EINT0
62 #define GTA02_IRQ_MODEM IRQ_EINT1
63 #define GTA02_IRQ_PIO_2 IRQ_EINT2 /* v2 + v3 + v4 only */
64 #define GTA02_IRQ_nJACK_INSERT IRQ_EINT4
65 #define GTA02_IRQ_WLAN_GPIO1 IRQ_EINT5
66 #define GTA02_IRQ_AUX IRQ_EINT6
67 #define GTA02_IRQ_nHOLD IRQ_EINT7
68 #define GTA02_IRQ_PCF50633 IRQ_EINT9
69 #define GTA02_IRQ_3D IRQ_EINT12
70 #define GTA02_IRQ_GSENSOR_2 IRQ_EINT16 /* v2 + v3 + v4 only */
71 #define GTA02v3_IRQ_nUSB_OC IRQ_EINT17 /* v3 + v4 only */
72 #define GTA02v3_IRQ_nUSB_FLT IRQ_EINT18 /* v3 + v4 only */
73 #define GTA02v3_IRQ_nGSM_OC IRQ_EINT19 /* v3 + v4 only */
74
75 /* returns 00 000 on GTA02 A5 and earlier, A6 returns 01 001 */
76 #define GTA02_PCB_ID1_0 S3C2410_GPC13
77 #define GTA02_PCB_ID1_1 S3C2410_GPC15
78 #define GTA02_PCB_ID1_2 S3C2410_GPD0
79 #define GTA02_PCB_ID2_0 S3C2410_GPD3
80 #define GTA02_PCB_ID2_1 S3C2410_GPD4
81
82 #define GTA02_GPIO_GLAMO_BASE S3C_GPIO_END
83 #define GTA02_GPIO_GLAMO(x) (GTA02_GPIO_GLAMO_BASE + x)
84
85 int gta02_get_pcb_revision(void);
86
87 extern struct pcf50633 *gta02_pcf;
88
89 #endif /* _GTA02_H */