Implement architecture speficic GPIO calls for adm5120, thanks to Gabor Juhos
[openwrt/svn-archive/archive.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);