Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / arm / mach-s3c2440 / include / mach / gta02.h
1 #ifndef _GTA02_H
2 #define _GTA02_H
3
4 #include <mach/regs-gpio.h>
5
6 /* Different hardware revisions, passed in ATAG_REVISION by u-boot */
7 #define GTA02v1_SYSTEM_REV      0x00000310
8 #define GTA02v2_SYSTEM_REV      0x00000320
9 #define GTA02v3_SYSTEM_REV      0x00000330
10 #define GTA02v4_SYSTEM_REV      0x00000340
11 #define GTA02v5_SYSTEM_REV      0x00000350
12 /* since A7 is basically same as A6, we use A6 PCB ID */
13 #define GTA02v6_SYSTEM_REV      0x00000360
14
15 #define GTA02_GPIO_n3DL_GSM     S3C2410_GPA(13) /* v1 + v2 + v3 only */
16
17 #define GTA02_GPIO_PWR_LED1     S3C2410_GPB(0)
18 #define GTA02_GPIO_PWR_LED2     S3C2410_GPB(1)
19 #define GTA02_GPIO_AUX_LED      S3C2410_GPB(2)
20 #define GTA02_GPIO_VIBRATOR_ON  S3C2410_GPB(3)
21 #define GTA02_GPIO_MODEM_RST    S3C2410_GPB(5)
22 #define GTA02_GPIO_BT_EN        S3C2410_GPB(6)
23 #define GTA02_GPIO_MODEM_ON     S3C2410_GPB(7)
24 #define GTA02_GPIO_EXTINT8      S3C2410_GPB(8)
25 #define GTA02_GPIO_USB_PULLUP   S3C2410_GPB(9)
26
27 #define GTA02_GPIO_PIO5         S3C2410_GPC(5)  /* v3 + v4 only */
28
29 #define GTA02v3_GPIO_nG1_CS     S3C2410_GPD(12) /* v3 + v4 only */
30 #define GTA02v3_GPIO_nG2_CS     S3C2410_GPD(13) /* v3 + v4 only */
31 #define GTA02v5_GPIO_HDQ        S3C2410_GPD(14)   /* v5 + */
32
33 #define GTA02_GPIO_nG1_INT      S3C2410_GPF(0)
34 #define GTA02_GPIO_IO1          S3C2410_GPF(1)
35 #define GTA02_GPIO_PIO_2        S3C2410_GPF(2)  /* v2 + v3 + v4 only */
36 #define GTA02_GPIO_JACK_INSERT  S3C2410_GPF(4)
37 #define GTA02_GPIO_WLAN_GPIO1   S3C2410_GPF(5)  /* v2 + v3 + v4 only */
38 #define GTA02_GPIO_AUX_KEY      S3C2410_GPF(6)
39 #define GTA02_GPIO_HOLD_KEY     S3C2410_GPF(7)
40
41 #define GTA02_GPIO_3D_IRQ       S3C2410_GPG(4)
42 #define GTA02v2_GPIO_nG2_INT    S3C2410_GPG(8)  /* v2 + v3 + v4 only */
43 #define GTA02v3_GPIO_nUSB_OC    S3C2410_GPG(9)  /* v3 + v4 only */
44 #define GTA02v3_GPIO_nUSB_FLT   S3C2410_GPG(10) /* v3 + v4 only */
45 #define GTA02v3_GPIO_nGSM_OC    S3C2410_GPG(11) /* 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_GPC(13)
77 #define GTA02_PCB_ID1_1         S3C2410_GPC(15)
78 #define GTA02_PCB_ID1_2         S3C2410_GPD(0)
79 #define GTA02_PCB_ID2_0         S3C2410_GPD(3)
80 #define GTA02_PCB_ID2_1         S3C2410_GPD(4)
81
82 int gta02_get_pcb_revision(void);
83
84 #endif /* _GTA02_H */