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