| 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 */ |
| 90 | |