Implement architecture speficic GPIO calls for adm5120, thanks to Gabor Juhos
[openwrt.git] / target / linux / adm5120-2.6 / patches / 001-adm5120.patch
1 diff -urN linux-2.6.19.2/arch/mips/Kconfig linux-2.6.19.2.new/arch/mips/Kconfig
2 --- linux-2.6.19.2/arch/mips/Kconfig    2007-01-10 20:10:37.000000000 +0100
3 +++ linux-2.6.19.2.new/arch/mips/Kconfig        2007-01-23 14:49:38.000000000 +0100
4 @@ -12,6 +12,20 @@
5         prompt "System type"
6         default SGI_IP22
7
8 +config MIPS_ADM5120
9 +       bool "Support for ADM5120 SoC"
10 +       select SYS_HAS_CPU_MIPS32_R1
11 +       select DMA_NONCOHERENT
12 +       select HW_HAS_PCI
13 +       select SYS_SUPPORTS_LITTLE_ENDIAN
14 +       select SYS_SUPPORTS_BIG_ENDIAN
15 +       select SYS_SUPPORTS_32BIT_KERNEL
16 +       select GENERIC_GPIO
17 +
18 +config PCI_ADM5120
19 +       bool "Add PCI control support for ADM5120"
20 +       depends on MIPS_ADM5120 && PCI
21 +
22  config MIPS_MTX1
23         bool "4G Systems MTX-1 board"
24         select DMA_NONCOHERENT
25 diff -urN linux-2.6.19.2/arch/mips/Makefile linux-2.6.19.2.new/arch/mips/Makefile
26 --- linux-2.6.19.2/arch/mips/Makefile   2007-01-23 14:02:57.000000000 +0100
27 +++ linux-2.6.19.2.new/arch/mips/Makefile       2007-01-23 14:49:39.000000000 +0100
28 @@ -165,6 +165,14 @@
29  load-$(CONFIG_MACH_JAZZ)       += 0xffffffff80080000
30
31  #
32 +# ADMtek 5120
33 +#
34 +
35 +core-$(CONFIG_MIPS_ADM5120)    += arch/mips/adm5120/
36 +cflags-$(CONFIG_MIPS_ADM5120)  += -Iinclude/asm-mips/mach-adm5120
37 +load-$(CONFIG_MIPS_ADM5120)    += 0xffffffff80001000
38 +
39 +#
40  # Common Alchemy Au1x00 stuff
41  #
42  core-$(CONFIG_SOC_AU1X00)      += arch/mips/au1000/common/
43 diff -urN linux-2.6.19.2/arch/mips/pci/Makefile linux-2.6.19.2.new/arch/mips/pci/Makefile
44 --- linux-2.6.19.2/arch/mips/pci/Makefile       2007-01-10 20:10:37.000000000 +0100
45 +++ linux-2.6.19.2.new/arch/mips/pci/Makefile   2007-01-23 14:49:40.000000000 +0100
46 @@ -53,3 +53,4 @@
47  obj-$(CONFIG_VICTOR_MPC30X)    += fixup-mpc30x.o
48  obj-$(CONFIG_ZAO_CAPCELLA)     += fixup-capcella.o
49  obj-$(CONFIG_WR_PPMC)          += fixup-wrppmc.o
50 +obj-$(CONFIG_PCI_ADM5120)      += ops-adm5120.o pci-adm5120.o
51 diff -urN linux-2.6.19.2/include/asm-mips/bootinfo.h linux-2.6.19.2.new/include/asm-mips/bootinfo.h
52 --- linux-2.6.19.2/include/asm-mips/bootinfo.h  2007-01-10 20:10:37.000000000 +0100
53 +++ linux-2.6.19.2.new/include/asm-mips/bootinfo.h      2007-01-23 14:49:40.000000000 +0100
54 @@ -212,6 +212,42 @@
55  #define MACH_GROUP_NEC_EMMA2RH 25      /* NEC EMMA2RH (was 23)         */
56  #define  MACH_NEC_MARKEINS     0       /* NEC EMMA2RH Mark-eins        */
57
58 +/*
59 + * Valid machtype for group ADMtek ADM5120
60 + */
61 +#define MACH_GROUP_ADM5120     23
62 +#define MACH_ADM5120_UNKNOWN   0       /* Unknown board */
63 +#define MACH_ADM5120_WP54G_WRT 1       /* Compex WP54G-WRT */
64 +#define MACH_ADM5120_WP54G     2       /* Compex WP54G */
65 +#define MACH_ADM5120_WP54AG    3       /* Compex WP54AG */
66 +#define MACH_ADM5120_WPP54G    4       /* Compex WPP54G */
67 +#define MACH_ADM5120_WPP54AG   5       /* Compex WPP54AG */
68 +#define MACH_ADM5120_NP28G     6       /* Compex NP28G */
69 +#define MACH_ADM5120_NP28GHS   7       /* Compex NP28G HotSpot */
70 +#define MACH_ADM5120_NP27G     8       /* Compex NP27G */
71 +#define MACH_ADM5120_WP54Gv1C  9       /* Compex WP54G version 1C */
72 +#define MACH_ADM5120_RB_111    10      /* Mikrotik RouterBOARD 111 */
73 +#define MACH_ADM5120_RB_112    11      /* Mikrotik RouterBOARD 112 */
74 +#define MACH_ADM5120_RB_133    12      /* Mikrotik RouterBOARD 133 */
75 +#define MACH_ADM5120_RB_133C   13      /* Mikrotik RouterBOARD 133c */
76 +#define MACH_ADM5120_RB_150    14      /* Mikrotik RouterBOARD 150 */
77 +#define MACH_ADM5120_RB_153    15      /* Mikrotik RouterBOARD 153 */
78 +#define MACH_ADM5120_HS100     16      /* ZyXEL HomeSafe 100/100W */
79 +#define MACH_ADM5120_P334      17      /* ZyXEL Prestige 334 */
80 +#define MACH_ADM5120_P334U     18      /* ZyXEL Prestige 334U */
81 +#define MACH_ADM5120_P334W     19      /* ZyXEL Prestige 334W */
82 +#define MACH_ADM5120_P334WH    20      /* ZyXEL Prestige 334WH */
83 +#define MACH_ADM5120_P334WHD   21      /* ZyXEL Prestige 334WHD */
84 +#define MACH_ADM5120_P334WT    22      /* ZyXEL Prestige 334WT */
85 +#define MACH_ADM5120_P335      23      /* ZyXEL Prestige 335/335WT */
86 +#define MACH_ADM5120_P335PLUS  24      /* ZyXEL Prestige 335Plus */
87 +#define MACH_ADM5120_P335U     25      /* ZyXEL Prestige 335U */
88 +#define MACH_ADM5120_ES2108    26      /* ZyXEL Ethernet Switch 2108 */
89 +#define MACH_ADM5120_ES2108F   27      /* ZyXEL Ethernet Switch 2108-F */
90 +#define MACH_ADM5120_ES2108G   28      /* ZyXEL Ethernet Switch 2108-G */
91 +#define MACH_ADM5120_ES2108LC  29      /* ZyXEL Ethernet Switch 2108-LC */
92 +#define MACH_ADM5120_ES2108PWR 30      /* ZyXEL Ethernet Switch 2108-PWR */
93 +
94  #define CL_SIZE                        COMMAND_LINE_SIZE
95
96  const char *get_system_type(void);