[s3c24xx] mach-gta02: select extra gpio for glamo.
[openwrt.git] / target / linux / s3c24xx / patches-2.6.30 / 015-mach-gta02.patch
1 --- a/arch/arm/mach-s3c2442/Kconfig
2 +++ b/arch/arm/mach-s3c2442/Kconfig
3 @@ -25,6 +25,21 @@ config SMDK2440_CPU2442
4         depends on ARCH_S3C2440
5         select CPU_S3C2442
6  
7 +config MACH_NEO1973_GTA02
8 +       bool "Openmoko Freerunner GSM Phone (GTA02 Hardware)"
9 +       select CPU_S3C2442
10 +       select MFD_PCF50633
11 +       select PCF50633_GPIO
12 +       select I2C
13 +       select POWER_SUPPLY
14 +       select MACH_NEO1973
15 +       select S3C_PWM
16 +       select FIQ
17 +       select S3C_DEV_USB_HOST
18 +       select S3C24XX_GPIO_EXTRA64
19 +       help
20 +          Say Y here if you are using the Openmoko Freerunner GSM Phone
21 +
22  
23  endmenu
24  
25 --- a/arch/arm/mach-s3c2442/Makefile
26 +++ b/arch/arm/mach-s3c2442/Makefile
27 @@ -9,8 +9,11 @@ obj-m                          :=
28  obj-n                          :=
29  obj-                           :=
30  
31 +obj-$(CONFIG_S3C2440_C_FIQ)    += fiq_c_isr.o
32 +
33  obj-$(CONFIG_CPU_S3C2442)      += s3c2442.o
34  obj-$(CONFIG_CPU_S3C2442)      += clock.o
35 +obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o
36  
37  # Machine support
38  
39 --- a/arch/arm/mach-s3c2410/include/mach/irqs.h
40 +++ b/arch/arm/mach-s3c2410/include/mach/irqs.h
41 @@ -153,9 +153,9 @@
42  #define IRQ_S3C2443_AC97       S3C2410_IRQSUB(28)
43  
44  #ifdef CONFIG_CPU_S3C2443
45 -#define NR_IRQS (IRQ_S3C2443_AC97+1)
46 +#define _NR_IRQS (IRQ_S3C2443_AC97+1)
47  #else
48 -#define NR_IRQS (IRQ_S3C2440_AC97+1)
49 +#define _NR_IRQS (IRQ_S3C2440_AC97+1)
50  #endif
51  
52  /* compatibility define. */
53 @@ -167,4 +167,33 @@
54  /* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */
55  #define FIQ_START              IRQ_EINT0
56  
57 +
58 +/*
59 + * The next 16 interrupts are for board specific purposes.  Since
60 + * the kernel can only run on one machine at a time, we can re-use
61 + * these.  If you need more, increase IRQ_BOARD_END, but keep it
62 + * within sensible limits.
63 + */
64 +#define IRQ_BOARD_START         _NR_IRQS
65 +#define IRQ_BOARD_END           (_NR_IRQS + 10)
66 +
67 +#if defined(CONFIG_MACH_NEO1973_GTA02)
68 +#define NR_IRQS                 (IRQ_BOARD_END)
69 +#else
70 +#define NR_IRQS                 (IRQ_BOARD_START)
71 +#endif
72 +
73 +/* Neo1973 GTA02 interrupts */
74 +#define NEO1973_GTA02_IRQ(x)    (IRQ_BOARD_START + (x))
75 +#define IRQ_GLAMO(x)            NEO1973_GTA02_IRQ(x)
76 +#define IRQ_GLAMO_HOSTBUS       IRQ_GLAMO(0)
77 +#define IRQ_GLAMO_JPEG          IRQ_GLAMO(1)
78 +#define IRQ_GLAMO_MPEG          IRQ_GLAMO(2)
79 +#define IRQ_GLAMO_MPROC1        IRQ_GLAMO(3)
80 +#define IRQ_GLAMO_MPROC0        IRQ_GLAMO(4)
81 +#define IRQ_GLAMO_CMDQUEUE      IRQ_GLAMO(5)
82 +#define IRQ_GLAMO_2D            IRQ_GLAMO(6)
83 +#define IRQ_GLAMO_MMC           IRQ_GLAMO(7)
84 +#define IRQ_GLAMO_RISC          IRQ_GLAMO(8)
85 +
86  #endif /* __ASM_ARCH_IRQ_H */