[s3c24xx] mach-gta02: select extra gpio for glamo.
[openwrt/svn-archive/archive.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 */