791ea4fc4c330850700957afc736f5d38c4bf846
[kernel.git] / include / asm-arm / arch-s3c2410 / gta02.h
1 #ifndef _GTA02_H
2 #define _GTA02_H
3
4 #include <asm/arch/regs-gpio.h>
5 #include <asm/arch/irqs.h>
6
7 /* Different hardware revisions, passed in ATAG_REVISION by u-boot */
8 #define GTA02v1_SYSTEM_REV      0x00000310
9 #define GTA02v2_SYSTEM_REV      0x00000320
10 #define GTA02v3_SYSTEM_REV      0x00000330
11 #define GTA02v4_SYSTEM_REV      0x00000340
12 #define GTA02v5_SYSTEM_REV      0x00000350
13 #define GTA02v6_SYSTEM_REV      0x00000360
14
15 #define GTA02_GPIO_n3DL_GSM     S3C2410_GPA13   /* v1 + v2 + v3 only */
16
17 #define GTA02_GPIO_PWR_LED1     S3C2410_GPB0
18 #define GTA02_GPIO_PWR_LED2     S3C2410_GPB1
19 #define GTA02_GPIO_AUX_LED      S3C2410_GPB2
20 #define GTA02_GPIO_VIBRATOR_ON  S3C2410_GPB3
21 #define GTA02v1_GPIO_GPS_PWRON  S3C2410_GPB4    /* v1 only */
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 GTA02v1_GPIO_EN_AGPS3V  S3C2410_GPB8    /* v1 only */
26 #define GTA02_GPIO_EXTINT8      S3C2410_GPB8
27 #define GTA02_GPIO_USB_PULLUP   S3C2410_GPB9
28
29 #define GTA02v1_GPIO_nGPS_RST   S3C2410_GPC0    /* v1 only */
30 #define GTA02v12_GPIO_PIO3      S3C2410_GPC5    /* v1 + v2 only */
31 #define GTA02_GPIO_PIO5         S3C2410_GPC5    /* v3 + v4 only */
32 #define GTA02_GPIO_LCD_RESET    S3C2410_GPC6    /* v1 + v2 only */
33 #define GTA02v12_GPIO_PIO2      S3C2410_GPC7    /* v1 + v2 only */
34 #define GTA02v2_nUSB_FLT        S3C2410_GPC9    /* v2 only */
35 #define GTA02v2_nUSB_OC         S3C2410_GPC10   /* v2 only */
36 #define GTA02v2_nGSM_OC         S3C2410_GPC12   /* v2 only */
37
38 #define GTA02v3_GPIO_nG1_CS     S3C2410_GPD12   /* v3 + v4 only */
39 #define GTA02v3_GPIO_nG2_CS     S3C2410_GPD13   /* v3 + v4 only */
40 #define GTA02v5_GPIO_HDQ        S3C2410_GPD14   /* v5 + */
41
42 #define GTA02_GPIO_nG1_INT      S3C2410_GPF0
43 #define GTA02_GPIO_IO1          S3C2410_GPF1
44 #define GTA02v1_GPIO_nG2_INT    S3C2410_GPF2    /* v1 only */
45 #define GTA02_GPIO_PIO_2        S3C2410_GPF2    /* v2 + v3 + v4 only */
46 #define GTA02_GPIO_JACK_INSERT  S3C2410_GPF4
47 #define GTA02v1_GPIO_nSD_DETECT S3C2410_GPF5    /* v1 only */
48 #define GTA02_GPIO_WLAN_GPIO1   S3C2410_GPF5    /* v2 + v3 + v4 only */
49 #define GTA02_GPIO_AUX_KEY      S3C2410_GPF6
50 #define GTA02_GPIO_HOLD_KEY     S3C2410_GPF7
51
52 #define GTA02_GPIO_3D_IRQ       S3C2410_GPG4
53 #define GTA02v1_GPIO_nG1_CS     S3C2410_GPG8    /* v1 only */
54 #define GTA02v2_GPIO_nG2_INT    S3C2410_GPG8    /* v2 + v3 + v4 only */
55 #define GTA02v3_GPIO_nUSB_OC    S3C2410_GPG9    /* v3 + v4 only */
56 #define GTA02v3_GPIO_nUSB_FLT   S3C2410_GPG10   /* v3 + v4 only */
57 #define GTA02v1_GPIO_nG2_CS     S3C2410_GPG11   /* v1 only */
58 #define GTA02v3_GPIO_nGSM_OC    S3C2410_GPG11   /* v3 + v4 only */
59
60 #define GTA02v1_GPIO_3D_RESET   S3C2440_GPJ0    /* v1 only */
61 #define GTA02v2_GPIO_BAT_ID     S3C2440_GPJ0    /* v2 only */
62 #define GTA02v1_GPIO_WLAN_GPIO8 S3C2440_GPJ1    /* v1 only */
63 #define GTA02_GPIO_AMP_SHUT     S3C2440_GPJ1    /* v2 + v3 + v4 only */
64 #define GTA02v1_GPIO_WLAN_GPIO10        S3C2440_GPJ2
65 #define GTA02_GPIO_HP_IN        S3C2440_GPJ2    /* v2 + v3 + v4 only */
66 #define GTA02v1_GPIO_KEEPACT    S3C2440_GPJ3    /* v1 only */
67 #define GTA02_GPIO_INT0         S3C2440_GPJ3    /* v2 + v3 + v4 only */
68 #define GTA02_GPIO_nGSM_EN      S3C2440_GPJ4
69 #define GTA02_GPIO_3D_RESET     S3C2440_GPJ5
70 #define GTA02_GPIO_nDL_GSM      S3C2440_GPJ6    /* v4 + v5 only */
71 #define GTA02_GPIO_WLAN_GPIO0   S3C2440_GPJ7
72 #define GTA02v1_GPIO_BAT_ID     S3C2440_GPJ8
73 #define GTA02_GPIO_KEEPACT      S3C2440_GPJ8
74 #define GTA02v1_GPIO_AMP_SHUT   S3C2440_GPJ9    /* v1 only */
75 #define GTA02v2_nG1_CS          S3C2440_GPJ9    /* v2 only */
76 #define GTA02v1_GPIO_HP_IN      S3C2440_GPJ10
77 #define GTA02v2_nG2_CS          S3C2440_GPJ10   /* v2 only */
78 #define GTA02v1_GPIO_INT0       S3C2440_GPJ11   /* v1 only */
79 #define GTA02_CHIP_PWD          S3C2440_GPJ11   /* v2 + v3 + v4 only */
80 #define GTA02v1_GPIO_nGSM_EN    S3C2440_GPJ12   /* v1 only */
81 #define GTA02_GPIO_nWLAN_RESET  S3C2440_GPJ12   /* v2 + v3 + v4 only */
82
83 #define GTA02_IRQ_GSENSOR_1     IRQ_EINT0
84 #define GTA02_IRQ_MODEM         IRQ_EINT1
85 #define GTA02v1_IRQ_GSENSOR_2   IRQ_EINT2       /* v1 only */
86 #define GTA02_IRQ_PIO_2         IRQ_EINT2       /* v2 + v3 + v4 only */
87 #define GTA02_IRQ_nJACK_INSERT  IRQ_EINT4
88 #define GTA02v1_IRQ_nSD_CD      IRQ_EINT5       /* v1 only */
89 #define GTA02_IRQ_WLAN_GPIO1    IRQ_EINT5
90 #define GTA02_IRQ_AUX           IRQ_EINT6
91 #define GTA02_IRQ_nHOLD         IRQ_EINT7
92 #define GTA02v1_IRQ_nSIM_CD     IRQ_EINT8       /* v1 only */
93 #define GTA02_IRQ_PCF50633      IRQ_EINT9
94 #define GTA02_IRQ_3D            IRQ_EINT12
95 #define GTA02_IRQ_GSENSOR_2     IRQ_EINT16      /* v2 + v3 + v4 only */
96 #define GTA02v3_IRQ_nUSB_OC     IRQ_EINT17      /* v3 + v4 only */
97 #define GTA02v3_IRQ_nUSB_FLT    IRQ_EINT18      /* v3 + v4 only */
98 #define GTA02v3_IRQ_nGSM_OC     IRQ_EINT19      /* v3 + v4 only */
99
100 /* returns 00 000 on GTA02 A5 and earlier, A6 returns 01 001 */
101 #define GTA02_PCB_ID1_0         S3C2410_GPC13
102 #define GTA02_PCB_ID1_1         S3C2410_GPC15
103 #define GTA02_PCB_ID1_2         S3C2410_GPD0
104 #define GTA02_PCB_ID2_0         S3C2410_GPD3
105 #define GTA02_PCB_ID2_1         S3C2410_GPD4
106
107 int gta02_get_pcb_revision(void);
108
109 #endif /* _GTA02_H */