summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Allum <mallum@openedhand.com>2006-07-21 09:16:05 +0000
committerMatthew Allum <mallum@openedhand.com>2006-07-21 09:16:05 +0000
commit62e2fd845deab20b6dae588409b7f6f1ed7617f7 (patch)
tree276e3281c6da9371ccfae4d54bb98018fc8bab7a
parentf1f7b603e03d311530993ec224da034ea5165ba6 (diff)
downloadpoky-62e2fd845deab20b6dae588409b7f6f1ed7617f7.tar.gz
Add initial cmx270 2.6.17 kernel
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@528 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch126
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch1566
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/defconfig1169
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/mach-types1112
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch599
-rw-r--r--openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch15
-rw-r--r--openembedded/packages/linux/linux-cmx270_2.6.17.bb40
7 files changed, 4627 insertions, 0 deletions
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch b/openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
new file mode 100644
index 0000000000..b4a33e2cf7
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
@@ -0,0 +1,126 @@
1Index: linux-2.6.17/arch/arm/mach-pxa/cm-x270.c
2===================================================================
3--- linux-2.6.17.orig/arch/arm/mach-pxa/cm-x270.c 2006-07-18 15:40:10.000000000 +0100
4+++ linux-2.6.17/arch/arm/mach-pxa/cm-x270.c 2006-07-20 20:25:22.000000000 +0100
5@@ -11,6 +11,7 @@
6 #include <linux/pm.h>
7 #include <linux/fb.h>
8 #include <linux/rtc-v3020.h>
9+#include <linux/mbxfb.h>
10
11 #include <asm/types.h>
12 #include <asm/setup.h>
13@@ -396,10 +397,113 @@
14 .resource = dm9000_resources,
15 };
16
17+/* 2700G graphics */
18+static u64 fb_dma_mask = ~(u64)0;
19+
20+static struct resource cmx270_2700G_resource[] = {
21+ /* frame buffer memory including ODFB and External SDRAM */
22+ [0] = {
23+ .start = MARATHON_PHYS,
24+ .end = MARATHON_PHYS + 0x02000000,
25+ .flags = IORESOURCE_MEM,
26+ },
27+ /* Marathon registers */
28+ [1] = {
29+ .start = MARATHON_PHYS + 0x03fe0000,
30+ .end = MARATHON_PHYS + 0x03ffffff,
31+ .flags = IORESOURCE_MEM,
32+ },
33+};
34+
35+static unsigned long save_lcd_regs[10];
36+
37+/* if 2700G is used, disable PCI throttle */
38+#define LB_TROTTLE_OFF (PXA_CS1_PHYS | (1 << 25))
39+#define LB_TROTTLE_MAX (PXA_CS1_PHYS | (1 << 25) | (1 << 22))
40+static int cmx270_marathon_probe(struct fb_info *fb)
41+{
42+ volatile unsigned long *cpld;
43+
44+ cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_OFF, 4);
45+ if ( !cpld ) {
46+ return -ENODEV;
47+ }
48+ *cpld = 0;
49+ iounmap((void*)cpld);
50+
51+ /* save PXA-270 pin settings before enabling 2700G */
52+ save_lcd_regs[0] = GPDR1;
53+ save_lcd_regs[1] = GPDR2;
54+ save_lcd_regs[2] = GAFR1_U;
55+ save_lcd_regs[3] = GAFR2_L;
56+ save_lcd_regs[4] = GAFR2_U;
57+
58+ /* Disable PXA-270 on-chip controller driving pins */
59+ GPDR1 &= ~(0xfc000000);
60+ GPDR2 &= ~(0x00c03fff);
61+ GAFR1_U &= ~(0xfff00000);
62+ GAFR2_L &= ~(0x0fffffff);
63+ GAFR2_U &= ~(0x0000f000);
64+ return 0;
65+}
66+
67+static int cmx270_marathon_remove(struct fb_info *fb)
68+{
69+ volatile unsigned long *cpld;
70+ cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_MAX, 4);
71+
72+ if ( !cpld ) {
73+ return -ENODEV;
74+ }
75+ *cpld = 0;
76+ iounmap((void*)cpld);
77+
78+ GPDR1 = save_lcd_regs[0];
79+ GPDR2 = save_lcd_regs[1];
80+ GAFR1_U = save_lcd_regs[2];
81+ GAFR2_L = save_lcd_regs[3];
82+ GAFR2_U = save_lcd_regs[4];
83+ return 0;
84+}
85+
86+static struct mbxfb_platform_data cmx270_2700G_data = {
87+ .xres = {
88+ .min = 240,
89+ .max = 1200,
90+ .defval = 640,
91+ },
92+ .yres = {
93+ .min = 240,
94+ .max = 1200,
95+ .defval = 480,
96+ },
97+ .bpp = {
98+ .min = 16,
99+ .max = 32,
100+ .defval = 16,
101+ },
102+ .memsize = 8*1024*1024,
103+ .probe = cmx270_marathon_probe,
104+ .remove = cmx270_marathon_remove,
105+};
106+
107+static struct platform_device cmx270_2700G = {
108+ .name = "mbx-fb",
109+ .dev = {
110+ .platform_data = &cmx270_2700G_data,
111+ .dma_mask = &fb_dma_mask,
112+ .coherent_dma_mask = 0xffffffff,
113+ },
114+ .num_resources = ARRAY_SIZE(cmx270_2700G_resource),
115+ .resource = cmx270_2700G_resource,
116+ .id = -1,
117+};
118+
119 static struct platform_device *platform_devices[] __initdata = {\
120 &cmx270_audio_device,
121 &v3020_rtc_device,
122 &dm9000_device,
123+ &cmx270_2700G,
124 };
125
126 static int cmx270_ohci_init(struct device *dev)
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch b/openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
new file mode 100644
index 0000000000..d33f4522f8
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
@@ -0,0 +1,1566 @@
1 drivers/video/Kconfig | 10 +
2 drivers/video/Makefile | 1
3 drivers/video/mbx/Makefile | 3
4 drivers/video/mbx/mbxfb.c | 646 ++++++++++++++++++++++++++++++++++++++++++
5 drivers/video/mbx/mbxsysfs.c | 129 ++++++++
6 drivers/video/mbx/reg_bits.h | 489 ++++++++++++++++++++++++++++++++
7 drivers/video/mbx/regs.h | 192 ++++++++++++
8 include/linux/mbxfb.h | 28 ++
9 8 files changed, 1498 insertions(+), 0 deletions(-)
10
11diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
12index 17de4c8..3f472d4 100644
13--- a/drivers/video/Kconfig
14+++ b/drivers/video/Kconfig
15@@ -1518,6 +1518,16 @@ config FB_PXA_PARAMETERS
16
17 <file:Documentation/fb/pxafb.txt> describes the available parameters.
18
19+config FB_MBX
20+ tristate "2700G LCD framebuffer support"
21+ depends on FB && ARCH_PXA
22+ select FB_CFB_FILLRECT
23+ select FB_CFB_COPYAREA
24+ select FB_CFB_IMAGEBLIT
25+ ---help---
26+
27+ If unsure, say N.
28+
29 config FB_W100
30 tristate "W100 frame buffer support"
31 depends on FB && PXA_SHARPSL
32diff --git a/drivers/video/Makefile b/drivers/video/Makefile
33index c335e9b..eabb5be 100644
34--- a/drivers/video/Makefile
35+++ b/drivers/video/Makefile
36@@ -38,6 +38,7 @@ obj-$(CONFIG_FB_SIS) += sis/
37 obj-$(CONFIG_FB_KYRO) += kyro/
38 obj-$(CONFIG_FB_SAVAGE) += savage/
39 obj-$(CONFIG_FB_GEODE) += geode/
40+obj-$(CONFIG_FB_MBX) += mbx/
41 obj-$(CONFIG_FB_I810) += vgastate.o
42 obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o
43 obj-$(CONFIG_FB_VIRGE) += virgefb.o
44diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
45new file mode 100644
46index 0000000..ad042f5
47--- /dev/null
48+++ b/drivers/video/mbx/Makefile
49@@ -0,0 +1,3 @@
50+# Makefile for the 2700G controller driver.
51+
52+obj-$(CONFIG_FB_MBX) += mbxfb.o
53diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
54new file mode 100644
55index 0000000..fcf164f
56--- /dev/null
57+++ b/drivers/video/mbx/mbxfb.c
58@@ -0,0 +1,646 @@
59+/*
60+ * linux/drivers/video/mbx/mbxfb.c
61+ *
62+ * Copyright (C) 2006 Compulab, Ltd.
63+ * Mike Rapoport <mike@compulab.co.il>
64+ *
65+ * Based on pxafb.c
66+ *
67+ * This file is subject to the terms and conditions of the GNU General Public
68+ * License. See the file COPYING in the main directory of this archive for
69+ * more details.
70+ *
71+ * Intel 2700G (Marathon) Graphics Accelerator Frame Buffer Driver
72+ *
73+ */
74+
75+#include <linux/config.h>
76+#include <linux/module.h>
77+#include <linux/fb.h>
78+#include <linux/delay.h>
79+#include <linux/init.h>
80+#include <linux/platform_device.h>
81+#include <linux/mbxfb.h>
82+
83+#include <asm/io.h>
84+
85+/* use defines from asm-arm/arch-pxa/bitfields.h for now */
86+/* review (and maybe rework) all bitfields access later */
87+#define UData(Data) ((unsigned long) (Data))
88+#define Fld(Size, Shft) (((Size) << 16) + (Shft))
89+#define FSize(Field) ((Field) >> 16)
90+#define FShft(Field) ((Field) & 0x0000FFFF)
91+#define FMsk(Field) (((UData (1) << FSize (Field)) - 1) << FShft (Field))
92+#define FAlnMsk(Field) ((UData (1) << FSize (Field)) - 1)
93+#define F1stBit(Field) (UData (1) << FShft (Field))
94+
95+static unsigned long virt_base_2700;
96+#include "regs.h"
97+#include "reg_bits.h"
98+
99+#define MIN_XRES 16
100+#define MIN_YRES 16
101+#define MAX_XRES 2048
102+#define MAX_YRES 2048
103+
104+/* FIXME: take care of different chip reivsions with different sizes
105+ of ODFB */
106+#define MEMORY_OFFSET 0x60000
107+
108+struct mbxfb_info {
109+ struct device *dev;
110+
111+ struct resource *fb_res;
112+ struct resource *fb_req;
113+
114+ struct resource *reg_res;
115+ struct resource *reg_req;
116+
117+ void __iomem *fb_virt_addr;
118+ unsigned long fb_phys_addr;
119+
120+ void __iomem *reg_virt_addr;
121+ unsigned long reg_phys_addr;
122+
123+ int (*platform_probe)(struct fb_info *fb);
124+ int (*platform_remove)(struct fb_info *fb);
125+};
126+
127+static struct fb_var_screeninfo mbxfb_default = {
128+ .xres = 640,
129+ .yres = 480,
130+ .xres_virtual = 640,
131+ .yres_virtual = 480,
132+ .bits_per_pixel = 16,
133+ .red = { 11, 5, 0 },
134+ .green = { 5, 6, 0 },
135+ .blue = { 0, 5, 0 },
136+ .activate = FB_ACTIVATE_TEST,
137+ .height = -1,
138+ .width = -1,
139+ .pixclock = 40000,
140+ .left_margin = 48,
141+ .right_margin = 16,
142+ .upper_margin = 33,
143+ .lower_margin = 10,
144+ .hsync_len = 96,
145+ .vsync_len = 2,
146+ .vmode = FB_VMODE_NONINTERLACED,
147+ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
148+};
149+
150+static struct fb_fix_screeninfo mbxfb_fix = {
151+ .id = "MBX",
152+ .type = FB_TYPE_PACKED_PIXELS,
153+ .visual = FB_VISUAL_TRUECOLOR,
154+ .xpanstep = 0,
155+ .ypanstep = 0,
156+ .ywrapstep = 0,
157+ .accel = FB_ACCEL_NONE,
158+};
159+
160+struct pixclock_div {
161+ u8 m;
162+ u8 n;
163+ u8 p;
164+};
165+
166+static unsigned int mbxfb_get_pixclock(unsigned int pixclock_ps, struct pixclock_div *div)
167+{
168+ u8 m, n, p;
169+ unsigned int err = 0;
170+ unsigned int min_err = ~0x0;
171+ unsigned int clk;
172+ unsigned int best_clk = 0;
173+ unsigned int ref_clk = 13000; /* FIXME: take from platform data */
174+ unsigned int pixclock;
175+
176+ /* convert pixclock to KHz */
177+ pixclock = PICOS2KHZ(pixclock_ps);
178+
179+ for ( m = 1; m < 64; m++ ) {
180+ for ( n = 1; n < 8; n++ ) {
181+ for ( p = 0; p < 8; p++ ) {
182+ clk = (ref_clk * m) / (n * (1 << p));
183+ err = (clk > pixclock) ? (clk - pixclock) :
184+ (pixclock - clk);
185+ if ( err < min_err ) {
186+ min_err = err;
187+ best_clk = clk;
188+ div->m = m;
189+ div->n = n;
190+ div->p = p;
191+ }
192+ }
193+ }
194+ }
195+ return KHZ2PICOS(best_clk);
196+}
197+
198+static int
199+mbxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
200+ u_int trans, struct fb_info *info)
201+{
202+ uint val, ret = 1;
203+
204+ if ( regno < 255 ) {
205+ val = (red & 0xff) << 16;
206+ val |= (green & 0xff) << 8;
207+ val |= (blue & 0xff) << 0;
208+ GPLUT = Gplut_Lutadr(regno) | Gplut_Lutdata(val);
209+ udelay(1000);
210+ ret = 0;
211+ }
212+ return ret;
213+}
214+
215+static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
216+{
217+ struct pixclock_div div;
218+
219+ var->pixclock = mbxfb_get_pixclock(var->pixclock, &div);
220+
221+ if (var->xres < MIN_XRES)
222+ var->xres = MIN_XRES;
223+ if (var->yres < MIN_YRES)
224+ var->yres = MIN_YRES;
225+ if (var->xres > MAX_XRES)
226+ var->xres = MAX_XRES;
227+ if (var->yres > MAX_YRES)
228+ var->yres = MAX_YRES;
229+ var->xres_virtual =
230+ max(var->xres_virtual, var->xres);
231+ var->yres_virtual =
232+ max(var->yres_virtual, var->yres);
233+
234+ switch (var->bits_per_pixel) {
235+ /* FIXME: implement 8 bits-per-pixel */
236+ case 8:
237+ var->bits_per_pixel = 16;
238+ case 16:
239+ var->green.length = (var->green.length == 5) ? 5 : 6;
240+ var->red.length = 5;
241+ var->blue.length = 5;
242+ var->transp.length = 6 - var->green.length;
243+ var->blue.offset = 0;
244+ var->green.offset = 5;
245+ var->red.offset = 5 + var->green.length;
246+ var->transp.offset = (5 + var->red.offset) & 15;
247+ break;
248+ case 24: /* RGB 888 */
249+ case 32: /* RGBA 8888 */
250+ var->red.offset = 16;
251+ var->red.length = 8;
252+ var->green.offset = 8;
253+ var->green.length = 8;
254+ var->blue.offset = 0;
255+ var->blue.length = 8;
256+ var->transp.length = var->bits_per_pixel - 24;
257+ var->transp.offset = (var->transp.length) ? 24 : 0;
258+ break;
259+ }
260+ var->red.msb_right = 0;
261+ var->green.msb_right = 0;
262+ var->blue.msb_right = 0;
263+ var->transp.msb_right = 0;
264+
265+ return 0;
266+}
267+
268+static int mbxfb_set_par(struct fb_info *info)
269+{
270+ struct fb_var_screeninfo *var = &info->var;
271+ struct pixclock_div div;
272+ ushort hbps, ht, hfps, has;
273+ ushort vbps, vt, vfps, vas;
274+
275+ info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
276+
277+ /* setup color mode */
278+ GSCTRL &= ~(FMsk(GSCTRL_GPIXFMT));
279+ /* FIXME: add *WORKING* support for 8-bits per color */
280+ if ( info->var.bits_per_pixel == 8 ) {
281+ GSCTRL |= GSCTRL_GPIXFMT_INDEXED;
282+ GSCTRL |= GSCTRL_LUT_EN;
283+ GSCTRL &= ~GSCTRL_GAMMA_EN;
284+ info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
285+ fb_alloc_cmap(&info->cmap, 1<<info->var.bits_per_pixel, 0);
286+ }
287+ else {
288+ fb_dealloc_cmap(&info->cmap);
289+ GSCTRL &= ~GSCTRL_LUT_EN;
290+ info->fix.visual = FB_VISUAL_TRUECOLOR;
291+ switch ( info->var.bits_per_pixel ) {
292+ case 16:
293+ if ( info->var.green.length == 5 )
294+ GSCTRL |= GSCTRL_GPIXFMT_ARGB1555;
295+ else
296+ GSCTRL |= GSCTRL_GPIXFMT_RGB565;
297+ break;
298+ case 24:
299+ GSCTRL |= GSCTRL_GPIXFMT_RGB888;
300+ break;
301+ case 32:
302+ GSCTRL |= GSCTRL_GPIXFMT_ARGB8888;
303+ break;
304+ }
305+ }
306+
307+ /* setup resolution */
308+ GSCTRL &= ~(FMsk(GSCTRL_GSWIDTH) | FMsk(GSCTRL_GSHEIGHT));
309+ GSCTRL |= Gsctrl_Width(info->var.xres - 1) |
310+ Gsctrl_Height(info->var.yres - 1);
311+
312+ GSADR &= ~(FMsk(GSADR_SRCSTRIDE)); udelay(1000);
313+ GSADR |= Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / (8 * 16) - 1); udelay(1000);
314+
315+ /* setup timings */
316+ var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div);
317+
318+ DISPPLL = Disp_Pll_M(div.m) | Disp_Pll_N(div.n) | Disp_Pll_P(div.p) | DISP_PLL_EN;
319+
320+ hbps = var->hsync_len;
321+ has = hbps + var->left_margin;
322+ hfps = has + var->xres;
323+ ht = hfps + var->right_margin;
324+
325+ vbps = var->vsync_len;
326+ vas = vbps + var->upper_margin;
327+ vfps = vas + var->yres;
328+ vt = vfps + var->lower_margin;
329+
330+ DHT01 = Dht01_Hbps(hbps) | Dht01_Ht(ht);
331+ DHT02 = Dht02_Hlbs(has) | Dht02_Has(has);
332+ DHT03 = Dht03_Hfps(hfps) | Dht03_Hrbs(hfps);
333+ DHDET = Dhdet_Hdes(has) | Dhdet_Hdef(hfps);
334+
335+ DVT01 = Dvt01_Vbps(vbps) | Dvt01_Vt(vt);
336+ DVT02 = Dvt02_Vtbs(vas) | Dvt02_Vas(vas);
337+ DVT03 = Dvt03_Vfps(vfps) | Dvt03_Vbbs(vfps);
338+ DVDET = Dvdet_Vdes(vas) | Dvdet_Vdef(vfps);
339+ DVECTRL = Dvectrl_Vevent(vfps) | Dvectrl_Vfetch(vbps);
340+ DSCTRL |= DSCTRL_SYNCGEN_EN;
341+
342+ return 0;
343+}
344+
345+static int mbxfb_blank(int blank, struct fb_info *info)
346+{
347+ switch (blank) {
348+ case FB_BLANK_POWERDOWN:
349+ case FB_BLANK_VSYNC_SUSPEND:
350+ case FB_BLANK_HSYNC_SUSPEND:
351+ case FB_BLANK_NORMAL:
352+ DSCTRL &= ~DSCTRL_SYNCGEN_EN; udelay(1000);
353+ PIXCLK &= ~PIXCLK_EN; udelay(1000);
354+ VOVRCLK &= ~VOVRCLK_EN; udelay(1000);
355+ break;
356+ case FB_BLANK_UNBLANK:
357+ DSCTRL |= DSCTRL_SYNCGEN_EN; udelay(1000);
358+ PIXCLK |= PIXCLK_EN; udelay(1000);
359+ break;
360+ }
361+ return 0;
362+}
363+
364+static struct fb_ops mbxfb_ops = {
365+ .owner = THIS_MODULE,
366+ .fb_check_var = mbxfb_check_var,
367+ .fb_set_par = mbxfb_set_par,
368+ .fb_setcolreg = mbxfb_setcolreg,
369+ .fb_fillrect = cfb_fillrect,
370+ .fb_copyarea = cfb_copyarea,
371+ .fb_imageblit = cfb_imageblit,
372+ .fb_blank = mbxfb_blank,
373+};
374+
375+/*
376+ Enable external SDRAM controller. Assume that all clocks are active
377+ by now.
378+*/
379+static void setup_memc(struct fb_info *fbi)
380+{
381+ unsigned long tmp;
382+
383+ /* FIXME: use platfrom specific parameters */
384+ /* setup SDRAM controller */
385+ LMCFG = LMCFG_LMC_DS | LMCFG_LMC_TS | LMCFG_LMD_TS | LMCFG_LMA_TS;
386+ udelay(1000);
387+ LMPWR = LMPWR_MC_PWR_ACT;
388+ udelay(1000);
389+ /* setup SDRAM timings */
390+ LMTIM = Lmtim_Tras(7) | Lmtim_Trp(3) | Lmtim_Trcd(3) | Lmtim_Trc(9) |
391+ Lmtim_Tdpl(2);
392+ udelay(1000);
393+ /* setup SDRAM refresh rate */
394+ LMREFRESH = 0xc2b;
395+ udelay(1000);
396+ /* setup SDRAM type parameters */
397+ LMTYPE = LMTYPE_CASLAT_3 | LMTYPE_BKSZ_2 | LMTYPE_ROWSZ_11 |
398+ LMTYPE_COLSZ_8;
399+ udelay(1000);
400+ /* enable memory controller */
401+ LMPWR = LMPWR_MC_PWR_ACT;
402+ udelay(1000);
403+
404+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
405+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
406+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
407+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
408+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
409+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
410+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
411+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
412+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
413+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
414+ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
415+}
416+
417+static void enable_clocks(struct fb_info* fbi)
418+{
419+ /* enable clocks */
420+ SYSCLKSRC = SYSCLKSRC_PLL_2; udelay(1000);
421+ PIXCLKSRC = PIXCLKSRC_PLL_1; udelay(1000);
422+ CLKSLEEP = 0x00000000; udelay(1000);
423+ COREPLL = Core_Pll_M(0x17) | Core_Pll_N(0x3) | Core_Pll_P(0x0) | CORE_PLL_EN; udelay(1000);
424+ DISPPLL = Disp_Pll_M(0x1b) | Disp_Pll_N(0x7) | Disp_Pll_P(0x1) | DISP_PLL_EN;
425+
426+ VOVRCLK = 0x00000000; udelay(1000);
427+ PIXCLK = PIXCLK_EN; udelay(1000);
428+ MEMCLK = MEMCLK_EN; udelay(1000);
429+ M24CLK = 0x00000006; udelay(1000);
430+ MBXCLK = 0x00000006; udelay(1000);
431+ SDCLK = SDCLK_EN; udelay(1000);
432+ PIXCLKDIV = 0x00000001; udelay(1000);
433+}
434+
435+static void setup_graphics(struct fb_info* fbi)
436+{
437+ unsigned long gsctrl;
438+
439+ gsctrl = GSCTRL_GAMMA_EN | Gsctrl_Width(fbi->var.xres-1) |
440+ Gsctrl_Height(fbi->var.yres-1);
441+ switch ( fbi->var.bits_per_pixel ) {
442+ case 16:
443+ if ( fbi->var.green.length == 5 )
444+ gsctrl |= GSCTRL_GPIXFMT_ARGB1555;
445+ else
446+ gsctrl |= GSCTRL_GPIXFMT_RGB565;
447+ break;
448+ case 24: gsctrl |= GSCTRL_GPIXFMT_RGB888; break;
449+ case 32: gsctrl |= GSCTRL_GPIXFMT_ARGB8888; break;
450+ }
451+
452+ GSCTRL = gsctrl; udelay(1000);
453+ GBBASE = 0x00000000; udelay(1000);
454+ GDRCTRL = 0x00ffffff; udelay(1000);
455+ GSCADR = GSCADR_STR_EN | Gscadr_Gbase_Adr(0x6000); udelay(1000);
456+ GPLUT = 0x00000000; udelay(1000);
457+}
458+
459+static void setup_display(struct fb_info* fbi)
460+{
461+ unsigned long dsctrl = 0;
462+
463+ dsctrl = DSCTRL_BLNK_POL;
464+ if ( fbi->var.sync & FB_SYNC_HOR_HIGH_ACT )
465+ dsctrl |= DSCTRL_HS_POL;
466+ if ( fbi->var.sync & FB_SYNC_VERT_HIGH_ACT )
467+ dsctrl |= DSCTRL_VS_POL;
468+ DSCTRL = dsctrl; udelay(1000);
469+ DMCTRL = 0xd0303010; udelay(1000);
470+ DSCTRL |= DSCTRL_SYNCGEN_EN;
471+}
472+
473+static void enable_controller(struct fb_info* fbi)
474+{
475+ SYSRST = SYSRST_RST;
476+ udelay(1000);
477+
478+ enable_clocks(fbi);
479+ setup_memc(fbi);
480+ setup_graphics(fbi);
481+ setup_display(fbi);
482+}
483+
484+
485+#ifdef CONFIG_PM
486+/*
487+ * Power management hooks. Note that we won't be called from IRQ context,
488+ * unlike the blank functions above, so we may sleep.
489+ */
490+static int mbxfb_suspend(struct platform_device *dev, pm_message_t state)
491+{
492+ /* make frame buffer memory enter self-refresh mode */
493+ LMPWR = LMPWR_MC_PWR_SRM;
494+ while ( LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM );
495+
496+ /* reset the device, since it's initial state is 'mostly sleeping' */
497+ SYSRST = SYSRST_RST;
498+ return 0;
499+}
500+
501+static int mbxfb_resume(struct platform_device *dev)
502+{
503+ struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
504+
505+ enable_clocks(fbi);
506+/* setup_graphics(fbi); */
507+/* setup_display(fbi); */
508+
509+ DSCTRL |= DSCTRL_SYNCGEN_EN;
510+ return 0;
511+}
512+#else
513+#define mbxfb_suspend NULL
514+#define mbxfb_resume NULL
515+#endif
516+
517+#include "mbxsysfs.c"
518+
519+#define res_size(_r) (((_r)->end - (_r)->start) + 1)
520+
521+static int mbxfb_probe(struct platform_device *dev)
522+{
523+ int ret;
524+ struct fb_info *fbi;
525+ struct mbxfb_info *mfbi;
526+ struct mbxfb_platform_data *pdata;
527+
528+ dev_dbg(dev, "mbxfb_probe\n");
529+
530+ fbi = framebuffer_alloc(sizeof(struct mbxfb_info), &dev->dev);
531+ if ( fbi == NULL ) {
532+ dev_err(&dev->dev, "framebuffer_alloc failed\n");
533+ return -ENOMEM;
534+ }
535+
536+ mfbi = fbi->par;
537+ pdata = dev->dev.platform_data;
538+ if ( pdata->probe )
539+ mfbi->platform_probe = pdata->probe;
540+ if ( pdata->remove )
541+ mfbi->platform_remove = pdata->remove;
542+
543+ mfbi->fb_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
544+ mfbi->reg_res = platform_get_resource(dev, IORESOURCE_MEM, 1);
545+
546+ if ( !mfbi->fb_res || !mfbi->reg_res ) {
547+ dev_err(&dev->dev, "no resources found\n");
548+ ret = -ENODEV;
549+ goto err1;
550+ }
551+
552+ mfbi->fb_req = request_mem_region(mfbi->fb_res->start,
553+ res_size(mfbi->fb_res),
554+ dev->name);
555+ if ( mfbi->fb_req == NULL ) {
556+ dev_err(&dev->dev, "failed to claim framebuffer memory\n");
557+ ret = -EINVAL;
558+ goto err1;
559+ }
560+ mfbi->fb_phys_addr = mfbi->fb_res->start;
561+
562+ mfbi->reg_req = request_mem_region(mfbi->reg_res->start,
563+ res_size(mfbi->reg_res),
564+ dev->name);
565+ if ( mfbi->reg_req == NULL ) {
566+ dev_err(&dev->dev, "failed to claim Marathon registers\n");
567+ ret = -EINVAL;
568+ goto err2;
569+ }
570+ mfbi->reg_phys_addr = mfbi->reg_res->start;
571+
572+ mfbi->reg_virt_addr = ioremap_nocache(mfbi->reg_phys_addr,
573+ res_size(mfbi->reg_req));
574+ if ( !mfbi->reg_virt_addr ) {
575+ dev_err(&dev->dev, "failed to ioremap Marathon registers\n");
576+ ret = -EINVAL;
577+ goto err3;
578+ }
579+ virt_base_2700 = (unsigned long)mfbi->reg_virt_addr;
580+
581+ mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr,
582+ res_size(mfbi->fb_req));
583+ if ( !mfbi->reg_virt_addr ) {
584+ dev_err(&dev->dev, "failed to ioremap frame buffer\n");
585+ ret = -EINVAL;
586+ goto err4;
587+ }
588+
589+ fbi->screen_base = (char __iomem *)(mfbi->fb_virt_addr + 0x60000); /* FIXME: */
590+ fbi->screen_size = 8*1024*1024; /* 8 Megs */ /* FIXME: get from platform */
591+ fbi->fbops = &mbxfb_ops;
592+
593+ fbi->var = mbxfb_default;
594+ fbi->fix = mbxfb_fix;
595+ fbi->fix.smem_start = mfbi->fb_phys_addr + 0x60000;
596+ fbi->fix.smem_len = 8*1024*1024;
597+ fbi->fix.line_length = 640*2;
598+
599+ ret = fb_alloc_cmap(&fbi->cmap, 256, 0);
600+ if (ret < 0) {
601+ dev_err(&dev->dev, "fb_alloc_cmap failed\n");
602+ ret = -EINVAL;
603+ goto err5;
604+ }
605+
606+ ret = register_framebuffer(fbi);
607+ if (ret < 0) {
608+ dev_err(&dev->dev, "register_framebuffer failed\n");
609+ ret = -EINVAL;
610+ goto err6;
611+ }
612+
613+ platform_set_drvdata(dev, fbi);
614+
615+ printk(KERN_INFO "fb%d: mbx frame buffer device\n", fbi->node);
616+
617+ if ( mfbi->platform_probe )
618+ mfbi->platform_probe(fbi);
619+
620+ enable_controller(fbi);
621+
622+ mbxfb_sysfs_register(fbi);
623+
624+ return 0;
625+
626+ err6:
627+ fb_dealloc_cmap(&fbi->cmap);
628+ err5:
629+ iounmap(mfbi->fb_virt_addr);
630+ err4:
631+ iounmap(mfbi->reg_virt_addr);
632+ err3:
633+ release_mem_region(mfbi->reg_res->start,
634+ res_size(mfbi->reg_res));
635+ err2:
636+ release_mem_region(mfbi->fb_res->start,
637+ res_size(mfbi->fb_res));
638+ err1:
639+ framebuffer_release(fbi);
640+
641+ return ret;
642+}
643+
644+static int mbxfb_remove(struct platform_device *dev)
645+{
646+ struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
647+
648+ SYSRST = SYSRST_RST;
649+ udelay(1000);
650+
651+ if (fbi) {
652+ struct mbxfb_info *mfbi = fbi->par;
653+
654+ unregister_framebuffer(fbi);
655+ if ( mfbi ) {
656+ if ( mfbi->platform_remove )
657+ mfbi->platform_remove(fbi);
658+
659+ if ( mfbi->fb_virt_addr )
660+ iounmap(mfbi->fb_virt_addr);
661+ if ( mfbi->reg_virt_addr )
662+ iounmap(mfbi->reg_virt_addr);
663+ if ( mfbi->reg_req )
664+ release_mem_region(mfbi->reg_req->start,
665+ res_size(mfbi->reg_req));
666+ if ( mfbi->fb_req )
667+ release_mem_region(mfbi->fb_req->start,
668+ res_size(mfbi->fb_req));
669+ }
670+ framebuffer_release(fbi);
671+ }
672+
673+ return 0;
674+}
675+
676+static struct platform_driver mbxfb_driver = {
677+ .probe = mbxfb_probe,
678+ .remove = mbxfb_remove,
679+
680+#ifdef CONFIG_PM
681+ .suspend = mbxfb_suspend,
682+ .resume = mbxfb_resume,
683+#endif
684+ .driver = {
685+ .name = "mbx-fb",
686+ },
687+};
688+
689+int __devinit mbxfb_init(void)
690+{
691+ return platform_driver_register(&mbxfb_driver);
692+}
693+
694+static void __exit mbxfb_exit(void)
695+{
696+ platform_driver_unregister(&mbxfb_driver);
697+}
698+
699+module_init(mbxfb_init);
700+module_exit(mbxfb_exit);
701+
702+MODULE_DESCRIPTION("loadable framebuffer driver for Marathon device");
703+MODULE_AUTHOR("Mike Rapoport, Compulab");
704+MODULE_LICENSE("GPL");
705diff --git a/drivers/video/mbx/mbxsysfs.c b/drivers/video/mbx/mbxsysfs.c
706new file mode 100644
707index 0000000..4b9571a
708--- /dev/null
709+++ b/drivers/video/mbx/mbxsysfs.c
710@@ -0,0 +1,129 @@
711+static ssize_t sysconf_show(struct class_device * subsys, char * buf)
712+{
713+ char * s = buf;
714+
715+ s += sprintf(s, "SYSCFG = %08lx\n", SYSCFG);
716+ s += sprintf(s, "PFBASE = %08lx\n", PFBASE);
717+ s += sprintf(s, "PFCEIL = %08lx\n", PFCEIL);
718+ s += sprintf(s, "POLLFLAG = %08lx\n", POLLFLAG);
719+ s += sprintf(s, "SYSRST = %08lx\n", SYSRST);
720+ return (s - buf);
721+}
722+
723+static ssize_t sysconf_store(struct class_device * subsys, const char * buf, size_t n)
724+{
725+ return n;
726+}
727+
728+static ssize_t gsctl_show(struct class_device * subsys, char * buf)
729+{
730+ char * s = buf;
731+
732+ s += sprintf(s, "GSCTRL = %08lx\n", GSCTRL);
733+ s += sprintf(s, "VSCTRL = %08lx\n", VSCTRL);
734+ s += sprintf(s, "GBBASE = %08lx\n", GBBASE);
735+ s += sprintf(s, "VBBASE = %08lx\n", VBBASE);
736+ s += sprintf(s, "GDRCTRL = %08lx\n", GDRCTRL);
737+ s += sprintf(s, "VCMSK = %08lx\n", VCMSK);
738+ s += sprintf(s, "GSCADR = %08lx\n", GSCADR);
739+ s += sprintf(s, "VSCADR = %08lx\n", VSCADR);
740+ s += sprintf(s, "VUBASE = %08lx\n", VUBASE);
741+ s += sprintf(s, "VVBASE = %08lx\n", VVBASE);
742+ s += sprintf(s, "GSADR = %08lx\n", GSADR);
743+ s += sprintf(s, "VSADR = %08lx\n", VSADR);
744+ s += sprintf(s, "HCCTRL = %08lx\n", HCCTRL);
745+ s += sprintf(s, "HCSIZE = %08lx\n", HCSIZE);
746+ s += sprintf(s, "HCPOS = %08lx\n", HCPOS);
747+ s += sprintf(s, "HCBADR = %08lx\n", HCBADR);
748+ s += sprintf(s, "HCCKMSK = %08lx\n", HCCKMSK);
749+ s += sprintf(s, "GPLUT = %08lx\n", GPLUT);
750+ return (s - buf);
751+}
752+
753+static ssize_t gsctl_store(struct class_device * subsys, const char * buf, size_t n)
754+{
755+ return n;
756+}
757+
758+static ssize_t display_show(struct class_device * subsys, char * buf)
759+{
760+ char * s = buf;
761+
762+ s += sprintf(s, "DSCTRL = %08lx\n", DSCTRL);
763+ s += sprintf(s, "DHT01 = %08lx\n", DHT01);
764+ s += sprintf(s, "DHT02 = %08lx\n", DHT02);
765+ s += sprintf(s, "DHT03 = %08lx\n", DHT03);
766+ s += sprintf(s, "DVT01 = %08lx\n", DVT01);
767+ s += sprintf(s, "DVT02 = %08lx\n", DVT02);
768+ s += sprintf(s, "DVT03 = %08lx\n", DVT03);
769+ s += sprintf(s, "DBCOL = %08lx\n", DBCOL);
770+ s += sprintf(s, "BGCOLOR = %08lx\n", BGCOLOR);
771+ s += sprintf(s, "DINTRS = %08lx\n", DINTRS);
772+ s += sprintf(s, "DINTRE = %08lx\n", DINTRE);
773+ s += sprintf(s, "DINTRCNT = %08lx\n", DINTRCNT);
774+ s += sprintf(s, "DSIG = %08lx\n", DSIG);
775+ s += sprintf(s, "DMCTRL = %08lx\n", DMCTRL);
776+ s += sprintf(s, "CLIPCTRL = %08lx\n", CLIPCTRL);
777+ s += sprintf(s, "SPOCTRL = %08lx\n", SPOCTRL);
778+ s += sprintf(s, "SVCTRL = %08lx\n", SVCTRL);
779+ s += sprintf(s, "DLSTS = %08lx\n", DLSTS);
780+ s += sprintf(s, "DLLCTRL = %08lx\n", DLLCTRL);
781+ s += sprintf(s, "DVLNUM = %08lx\n", DVLNUM);
782+ s += sprintf(s, "DUCTRL = %08lx\n", DUCTRL);
783+ s += sprintf(s, "DVECTRL = %08lx\n", DVECTRL);
784+ s += sprintf(s, "DHDET = %08lx\n", DHDET);
785+ s += sprintf(s, "DVDET = %08lx\n", DVDET);
786+ s += sprintf(s, "DODMSK = %08lx\n", DODMSK);
787+ s += sprintf(s, "CSC01 = %08lx\n", CSC01);
788+ s += sprintf(s, "CSC02 = %08lx\n", CSC02);
789+ s += sprintf(s, "CSC03 = %08lx\n", CSC03);
790+ s += sprintf(s, "CSC04 = %08lx\n", CSC04);
791+ s += sprintf(s, "CSC05 = %08lx\n", CSC05);
792+ return (s - buf);
793+}
794+
795+static ssize_t display_store(struct class_device * subsys, const char * buf, size_t n)
796+{
797+ return n;
798+}
799+
800+static ssize_t clock_show(struct class_device * subsys, char * buf)
801+{
802+ char * s = buf;
803+
804+ s += sprintf(s, "SYSCLKSRC = %08lx\n", SYSCLKSRC);
805+ s += sprintf(s, "PIXCLKSRC = %08lx\n", PIXCLKSRC);
806+ s += sprintf(s, "CLKSLEEP = %08lx\n", CLKSLEEP);
807+ s += sprintf(s, "COREPLL = %08lx\n", COREPLL);
808+ s += sprintf(s, "DISPPLL = %08lx\n", DISPPLL);
809+ s += sprintf(s, "PLLSTAT = %08lx\n", PLLSTAT);
810+ s += sprintf(s, "VOVRCLK = %08lx\n", VOVRCLK);
811+ s += sprintf(s, "PIXCLK = %08lx\n", PIXCLK);
812+ s += sprintf(s, "MEMCLK = %08lx\n", MEMCLK);
813+ s += sprintf(s, "M24CLK = %08lx\n", M24CLK);
814+ s += sprintf(s, "MBXCLK = %08lx\n", MBXCLK);
815+ s += sprintf(s, "SDCLK = %08lx\n", SDCLK);
816+ s += sprintf(s, "PIXCLKDIV = %08lx\n", PIXCLKDIV);
817+ return (s - buf);
818+}
819+
820+static ssize_t clock_store(struct class_device * subsys, const char * buf, size_t n)
821+{
822+ return n;
823+}
824+
825+static struct class_device_attribute mbx_class_attrs[] = {
826+ __ATTR(sysconf,0644,sysconf_show,sysconf_store),
827+ __ATTR(gsctl,0644,gsctl_show,gsctl_store),
828+ __ATTR(display,0644,display_show,display_store),
829+ __ATTR(clock,0644,clock_show,clock_store),
830+};
831+
832+
833+static void mbxfb_sysfs_register(struct fb_info *fbi)
834+{
835+ int i;
836+ for (i = 0; i < ARRAY_SIZE(mbx_class_attrs); i++)
837+ class_device_create_file(fbi->class_device,
838+ &mbx_class_attrs[i]);
839+}
840diff --git a/drivers/video/mbx/reg_bits.h b/drivers/video/mbx/reg_bits.h
841new file mode 100644
842index 0000000..be152f6
843--- /dev/null
844+++ b/drivers/video/mbx/reg_bits.h
845@@ -0,0 +1,489 @@
846+#ifndef __REG_BITS_2700G_
847+#define __REG_BITS_2700G_
848+
849+/* /\* System Configuration Registers (0x03FE_0000 0x03FE_0010) *\/ */
850+/* #define SYSCFG __REG_2700G(0x03FE0000) */
851+/* #define PFBASE __REG_2700G(0x03FE0004) */
852+/* #define PFCEIL __REG_2700G(0x03FE0008) */
853+/* #define POLLFLAG __REG_2700G(0x03FE000C) */
854+
855+#define SYSRST_RST (1 << 0)
856+
857+/* /\* Interrupt Control Registers (0x03FE_0014 0x03FE_002F) *\/ */
858+/* #define NINTPW __REG_2700G(0x03FE0014) */
859+/* #define MINTENABLE __REG_2700G(0x03FE0018) */
860+/* #define MINTSTAT __REG_2700G(0x03FE001C) */
861+/* #define SINTENABLE __REG_2700G(0x03FE0020) */
862+/* #define SINTSTAT __REG_2700G(0x03FE0024) */
863+/* #define SINTCLR __REG_2700G(0x03FE0028) */
864+
865+/* SYSCLKSRC - SYSCLK Source Control Register */
866+#define SYSCLKSRC_SEL Fld(2,0)
867+#define SYSCLKSRC_REF ((0x0) << FShft(SYSCLKSRC_SEL))
868+#define SYSCLKSRC_PLL_1 ((0x1) << FShft(SYSCLKSRC_SEL))
869+#define SYSCLKSRC_PLL_2 ((0x2) << FShft(SYSCLKSRC_SEL))
870+
871+/* PIXCLKSRC - PIXCLK Source Control Register */
872+#define PIXCLKSRC_SEL Fld(2,0)
873+#define PIXCLKSRC_REF ((0x0) << FShft(PIXCLKSRC_SEL))
874+#define PIXCLKSRC_PLL_1 ((0x1) << FShft(PIXCLKSRC_SEL))
875+#define PIXCLKSRC_PLL_2 ((0x2) << FShft(PIXCLKSRC_SEL))
876+
877+/* Clock Disable Register */
878+#define CLKSLEEP_SLP (1 << 0)
879+
880+/* Core PLL Control Register */
881+#define CORE_PLL_M Fld(6,7)
882+#define Core_Pll_M(x) ((x) << FShft(CORE_PLL_M))
883+#define CORE_PLL_N Fld(3,4)
884+#define Core_Pll_N(x) ((x) << FShft(CORE_PLL_N))
885+#define CORE_PLL_P Fld(3,1)
886+#define Core_Pll_P(x) ((x) << FShft(CORE_PLL_P))
887+#define CORE_PLL_EN (1 << 0)
888+
889+/* Display PLL Control Register */
890+#define DISP_PLL_M Fld(6,7)
891+#define Disp_Pll_M(x) ((x) << FShft(DISP_PLL_M))
892+#define DISP_PLL_N Fld(3,4)
893+#define Disp_Pll_N(x) ((x) << FShft(DISP_PLL_N))
894+#define DISP_PLL_P Fld(3,1)
895+#define Disp_Pll_P(x) ((x) << FShft(DISP_PLL_P))
896+#define DISP_PLL_EN (1 << 0)
897+
898+/* PLL status register */
899+#define PLLSTAT_CORE_PLL_LOST_L (1 << 3)
900+#define PLLSTAT_CORE_PLL_LSTS (1 << 2)
901+#define PLLSTAT_DISP_PLL_LOST_L (1 << 1)
902+#define PLLSTAT_DISP_PLL_LSTS (1 << 0)
903+
904+/* Video and scale clock control register */
905+#define VOVRCLK_EN (1 << 0)
906+
907+/* Pixel clock control register */
908+#define PIXCLK_EN (1 << 0)
909+
910+/* Memory clock control register */
911+#define MEMCLK_EN (1 << 0)
912+
913+/* MBX clock control register */
914+#define MBXCLK_DIV Fld(2,2)
915+#define MBXCLK_DIV_1 ((0x0) << FShft(MBXCLK_DIV))
916+#define MBXCLK_DIV_2 ((0x1) << FShft(MBXCLK_DIV))
917+#define MBXCLK_DIV_3 ((0x2) << FShft(MBXCLK_DIV))
918+#define MBXCLK_DIV_4 ((0x3) << FShft(MBXCLK_DIV))
919+#define MBXCLK_EN Fld(2,0)
920+#define MBXCLK_EN_NONE ((0x0) << FShft(MBXCLK_EN))
921+#define MBXCLK_EN_2D ((0x1) << FShft(MBXCLK_EN))
922+#define MBXCLK_EN_BOTH ((0x2) << FShft(MBXCLK_EN))
923+
924+/* M24 clock control register */
925+#define M24CLK_DIV Fld(2,1)
926+#define M24CLK_DIV_1 ((0x0) << FShft(M24CLK_DIV))
927+#define M24CLK_DIV_2 ((0x1) << FShft(M24CLK_DIV))
928+#define M24CLK_DIV_3 ((0x2) << FShft(M24CLK_DIV))
929+#define M24CLK_DIV_4 ((0x3) << FShft(M24CLK_DIV))
930+#define M24CLK_EN (1 << 0)
931+
932+/* SDRAM clock control register */
933+#define SDCLK_EN (1 << 0)
934+
935+/* PixClk Divisor Register */
936+#define PIXCLKDIV_PD Fld(9,0)
937+#define Pixclkdiv_Pd(x) ((x) << FShft(PIXCLKDIV_PD))
938+
939+/* LCD Config control register */
940+#define LCDCFG_IN_FMT Fld(3,28)
941+#define Lcdcfg_In_Fmt(x) ((x) << FShft(LCDCFG_IN_FMT))
942+#define LCDCFG_LCD1DEN_POL (1 << 27)
943+#define LCDCFG_LCD1FCLK_POL (1 << 26)
944+#define LCDCFG_LCD1LCLK_POL (1 << 25)
945+#define LCDCFG_LCD1D_POL (1 << 24)
946+#define LCDCFG_LCD2DEN_POL (1 << 23)
947+#define LCDCFG_LCD2FCLK_POL (1 << 22)
948+#define LCDCFG_LCD2LCLK_POL (1 << 21)
949+#define LCDCFG_LCD2D_POL (1 << 20)
950+#define LCDCFG_LCD1_TS (1 << 19)
951+#define LCDCFG_LCD1D_DS (1 << 18)
952+#define LCDCFG_LCD1C_DS (1 << 17)
953+#define LCDCFG_LCD1_IS_IN (1 << 16)
954+#define LCDCFG_LCD2_TS (1 << 3)
955+#define LCDCFG_LCD2D_DS (1 << 2)
956+#define LCDCFG_LCD2C_DS (1 << 1)
957+#define LCDCFG_LCD2_IS_IN (1 << 0)
958+
959+/* On-Die Frame Buffer Power Control Register */
960+#define ODFBPWR_SLOW (1 << 2)
961+#define ODFBPWR_MODE Fld(2,0)
962+#define ODFBPWR_MODE_ACT ((0x0) << FShft(ODFBPWR_MODE))
963+#define ODFBPWR_MODE_ACT_LP ((0x1) << FShft(ODFBPWR_MODE))
964+#define ODFBPWR_MODE_SLEEP ((0x2) << FShft(ODFBPWR_MODE))
965+#define ODFBPWR_MODE_SHUTD ((0x3) << FShft(ODFBPWR_MODE))
966+
967+/* On-Die Frame Buffer Power State Status Register */
968+#define ODFBSTAT_ACT (1 << 2)
969+#define ODFBSTAT_SLP (1 << 1)
970+#define ODFBSTAT_SDN (1 << 0)
971+
972+/* /\* GPIO Registers (0x03FE_006C 0x03FE_007F) *\/ */
973+/* #define GPIOCGF __REG_2700G(0x03FE006C) */
974+/* #define GPIOHI __REG_2700G(0x03FE0070) */
975+/* #define GPIOLO __REG_2700G(0x03FE0074) */
976+/* #define GPIOSTAT __REG_2700G(0x03FE0078) */
977+
978+/* /\* Pulse Width Modulator (PWM) Registers (0x03FE_0200 0x03FE_02FF) *\/ */
979+/* #define PWMRST __REG_2700G(0x03FE0200) */
980+/* #define PWMCFG __REG_2700G(0x03FE0204) */
981+/* #define PWM0DIV __REG_2700G(0x03FE0210) */
982+/* #define PWM0DUTY __REG_2700G(0x03FE0214) */
983+/* #define PWM0PER __REG_2700G(0x03FE0218) */
984+/* #define PWM1DIV __REG_2700G(0x03FE0220) */
985+/* #define PWM1DUTY __REG_2700G(0x03FE0224) */
986+/* #define PWM1PER __REG_2700G(0x03FE0228) */
987+
988+
989+/* LMRST - Local Memory (SDRAM) Reset */
990+#define LMRST_MC_RST (1 << 0)
991+
992+/* LMCFG - Local Memory (SDRAM) Configuration Register */
993+#define LMCFG_LMC_DS (1 << 5)
994+#define LMCFG_LMD_DS (1 << 4)
995+#define LMCFG_LMA_DS (1 << 3)
996+#define LMCFG_LMC_TS (1 << 2)
997+#define LMCFG_LMD_TS (1 << 1)
998+#define LMCFG_LMA_TS (1 << 0)
999+
1000+/* LMPWR - Local Memory (SDRAM) Power Control Register */
1001+#define LMPWR_MC_PWR_CNT Fld(2,0)
1002+#define LMPWR_MC_PWR_ACT ((0x0) << FShft(LMPWR_MC_PWR_CNT)) /* Active */
1003+#define LMPWR_MC_PWR_SRM ((0x1) << FShft(LMPWR_MC_PWR_CNT)) /* Self-refresh */
1004+#define LMPWR_MC_PWR_DPD ((0x3) << FShft(LMPWR_MC_PWR_CNT)) /* deep power down */
1005+
1006+/* LMPWRSTAT - Local Memory (SDRAM) Power Status Register */
1007+#define LMPWRSTAT_MC_PWR_CNT Fld(2,0)
1008+#define LMPWRSTAT_MC_PWR_ACT ((0x0) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Active */
1009+#define LMPWRSTAT_MC_PWR_SRM ((0x1) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Self-refresh */
1010+#define LMPWRSTAT_MC_PWR_DPD ((0x3) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* deep power down */
1011+
1012+/* LMTYPE - Local Memory (SDRAM) Type Register */
1013+#define LMTYPE_CASLAT Fld(3,10)
1014+#define LMTYPE_CASLAT_1 ((0x1) << FShft(LMTYPE_CASLAT))
1015+#define LMTYPE_CASLAT_2 ((0x2) << FShft(LMTYPE_CASLAT))
1016+#define LMTYPE_CASLAT_3 ((0x3) << FShft(LMTYPE_CASLAT))
1017+#define LMTYPE_BKSZ Fld(2,8)
1018+#define LMTYPE_BKSZ_1 ((0x1) << FShft(LMTYPE_BKSZ))
1019+#define LMTYPE_BKSZ_2 ((0x2) << FShft(LMTYPE_BKSZ))
1020+#define LMTYPE_ROWSZ Fld(4,4)
1021+#define LMTYPE_ROWSZ_11 ((0xb) << FShft(LMTYPE_ROWSZ))
1022+#define LMTYPE_ROWSZ_12 ((0xc) << FShft(LMTYPE_ROWSZ))
1023+#define LMTYPE_ROWSZ_13 ((0xd) << FShft(LMTYPE_ROWSZ))
1024+#define LMTYPE_COLSZ Fld(4,0)
1025+#define LMTYPE_COLSZ_7 ((0x7) << FShft(LMTYPE_COLSZ))
1026+#define LMTYPE_COLSZ_8 ((0x8) << FShft(LMTYPE_COLSZ))
1027+#define LMTYPE_COLSZ_9 ((0x9) << FShft(LMTYPE_COLSZ))
1028+#define LMTYPE_COLSZ_10 ((0xa) << FShft(LMTYPE_COLSZ))
1029+#define LMTYPE_COLSZ_11 ((0xb) << FShft(LMTYPE_COLSZ))
1030+#define LMTYPE_COLSZ_12 ((0xc) << FShft(LMTYPE_COLSZ))
1031+
1032+/* LMTIM - Local Memory (SDRAM) Timing Register */
1033+#define LMTIM_TRAS Fld(4,16)
1034+#define Lmtim_Tras(x) ((x) << FShft(LMTIM_TRAS))
1035+#define LMTIM_TRP Fld(4,12)
1036+#define Lmtim_Trp(x) ((x) << FShft(LMTIM_TRP))
1037+#define LMTIM_TRCD Fld(4,8)
1038+#define Lmtim_Trcd(x) ((x) << FShft(LMTIM_TRCD))
1039+#define LMTIM_TRC Fld(4,4)
1040+#define Lmtim_Trc(x) ((x) << FShft(LMTIM_TRC))
1041+#define LMTIM_TDPL Fld(4,0)
1042+#define Lmtim_Tdpl(x) ((x) << FShft(LMTIM_TDPL))
1043+
1044+/* LMREFRESH - Local Memory (SDRAM) tREF Control Register */
1045+#define LMREFRESH_TREF Fld(2,0)
1046+#define Lmrefresh_Tref(x) ((x) << FShft(LMREFRESH_TREF))
1047+
1048+/* #define LMCEMR __REG_2700G(0x03FE1010) */
1049+/* #define LMPROTMIN __REG_2700G(0x03FE1020) */
1050+/* #define LMPROTMAX __REG_2700G(0x03FE1024) */
1051+/* #define LMPROTCFG __REG_2700G(0x03FE1028) */
1052+/* #define LMPROTERR __REG_2700G(0x03FE102C) */
1053+
1054+/* GSCTRL - Graphics surface control register */
1055+#define GSCTRL_LUT_EN (1 << 31)
1056+#define GSCTRL_GPIXFMT Fld(4,27)
1057+#define GSCTRL_GPIXFMT_INDEXED ((0x0) << FShft(GSCTRL_GPIXFMT))
1058+#define GSCTRL_GPIXFMT_ARGB4444 ((0x4) << FShft(GSCTRL_GPIXFMT))
1059+#define GSCTRL_GPIXFMT_ARGB1555 ((0x5) << FShft(GSCTRL_GPIXFMT))
1060+#define GSCTRL_GPIXFMT_RGB888 ((0x6) << FShft(GSCTRL_GPIXFMT))
1061+#define GSCTRL_GPIXFMT_RGB565 ((0x7) << FShft(GSCTRL_GPIXFMT))
1062+#define GSCTRL_GPIXFMT_ARGB8888 ((0x8) << FShft(GSCTRL_GPIXFMT))
1063+#define GSCTRL_GAMMA_EN (1 << 26)
1064+
1065+#define GSCTRL_GSWIDTH Fld(11,11)
1066+#define Gsctrl_Width(Pixel) /* Display Width [1..2048 pix.] */ \
1067+ (((Pixel) - 1) << FShft(GSCTRL_GSWIDTH))
1068+
1069+#define GSCTRL_GSHEIGHT Fld(11,0)
1070+#define Gsctrl_Height(Pixel) /* Display Height [1..2048 pix.] */ \
1071+ (((Pixel) - 1) << FShft(GSCTRL_GSHEIGHT))
1072+
1073+/* GBBASE fileds */
1074+#define GBBASE_GLALPHA Fld(8,24)
1075+#define Gbbase_Glalpha(x) ((x) << FShft(GBBASE_GLALPHA))
1076+
1077+#define GBBASE_COLKEY Fld(24,0)
1078+#define Gbbase_Colkey(x) ((x) << FShft(GBBASE_COLKEY))
1079+
1080+/* GDRCTRL fields */
1081+#define GDRCTRL_PIXDBL (1 << 31)
1082+#define GDRCTRL_PIXHLV (1 << 30)
1083+#define GDRCTRL_LNDBL (1 << 29)
1084+#define GDRCTRL_LNHLV (1 << 28)
1085+#define GDRCTRL_COLKEYM Fld(24,0)
1086+#define Gdrctrl_Colkeym(x) ((x) << FShft(GDRCTRL_COLKEYM))
1087+
1088+/* GSCADR graphics stream control address register fields */
1089+#define GSCADR_STR_EN (1 << 31)
1090+#define GSCADR_COLKEY_EN (1 << 30)
1091+#define GSCADR_COLKEYSCR (1 << 29)
1092+#define GSCADR_BLEND_M Fld(2,27)
1093+#define GSCADR_BLEND_NONE ((0x0) << FShft(GSCADR_BLEND_M))
1094+#define GSCADR_BLEND_INV ((0x1) << FShft(GSCADR_BLEND_M))
1095+#define GSCADR_BLEND_GLOB ((0x2) << FShft(GSCADR_BLEND_M))
1096+#define GSCADR_BLEND_PIX ((0x3) << FShft(GSCADR_BLEND_M))
1097+#define GSCADR_BLEND_POS Fld(2,24)
1098+#define GSCADR_BLEND_GFX ((0x0) << FShft(GSCADR_BLEND_POS))
1099+#define GSCADR_BLEND_VID ((0x1) << FShft(GSCADR_BLEND_POS))
1100+#define GSCADR_BLEND_CUR ((0x2) << FShft(GSCADR_BLEND_POS))
1101+#define GSCADR_GBASE_ADR Fld(23,0)
1102+#define Gscadr_Gbase_Adr(x) ((x) << FShft(GSCADR_GBASE_ADR))
1103+
1104+/* GSADR graphics stride address register fields */
1105+#define GSADR_SRCSTRIDE Fld(10,22)
1106+#define Gsadr_Srcstride(x) ((x) << FShft(GSADR_SRCSTRIDE))
1107+#define GSADR_XSTART Fld(11,11)
1108+#define Gsadr_Xstart(x) ((x) << FShft(GSADR_XSTART))
1109+#define GSADR_YSTART Fld(11,0)
1110+#define Gsadr_Ystart(y) ((y) << FShft(GSADR_YSTART))
1111+
1112+/* GPLUT graphics palette register fields */
1113+#define GPLUT_LUTADR Fld(8,24)
1114+#define Gplut_Lutadr(x) ((x) << FShft(GPLUT_LUTADR))
1115+#define GPLUT_LUTDATA Fld(24,0)
1116+#define Gplut_Lutdata(x) ((x) << FShft(GPLUT_LUTDATA))
1117+
1118+/* #define VSCTRL __REG_2700G(0x03FE2004) */
1119+/* #define VBBASE __REG_2700G(0x03FE2024) */
1120+/* #define VCMSK __REG_2700G(0x03FE2044) */
1121+/* #define VSCADR __REG_2700G(0x03FE2064) */
1122+/* #define VUBASE __REG_2700G(0x03FE2084) */
1123+/* #define VVBASE __REG_2700G(0x03FE20A4) */
1124+/* #define VSADR __REG_2700G(0x03FE20C4) */
1125+
1126+
1127+/* HCCTRL - Hardware Cursor Register fields */
1128+#define HCCTRL_CUR_EN (1 << 31)
1129+#define HCCTRL_COLKEY_EN (1 << 29)
1130+#define HCCTRL_COLKEYSRC (1 << 28)
1131+#define HCCTRL_BLEND_M Fld(2,26)
1132+#define HCCTRL_BLEND_NONE ((0x0) << FShft(HCCTRL_BLEND_M))
1133+#define HCCTRL_BLEND_INV ((0x1) << FShft(HCCTRL_BLEND_M))
1134+#define HCCTRL_BLEND_GLOB ((0x2) << FShft(HCCTRL_BLEND_M))
1135+#define HCCTRL_BLEND_PIX ((0x3) << FShft(HCCTRL_BLEND_M))
1136+#define HCCTRL_CPIXFMT Fld(3,23)
1137+#define HCCTRL_CPIXFMT_RGB332 ((0x3) << FShft(HCCTRL_CPIXFMT))
1138+#define HCCTRL_CPIXFMT_ARGB4444 ((0x4) << FShft(HCCTRL_CPIXFMT))
1139+#define HCCTRL_CPIXFMT_ARGB1555 ((0x5) << FShft(HCCTRL_CPIXFMT))
1140+#define HCCTRL_CBASE_ADR Fld(23,0)
1141+#define Hcctrl_Cbase_Adr(x) ((x) << FShft(HCCTRL_CBASE_ADR))
1142+
1143+/* HCSIZE Hardware Cursor Size Register fields */
1144+#define HCSIZE_BLEND_POS Fld(2,29)
1145+#define HCSIZE_BLEND_GFX ((0x0) << FShft(HCSIZE_BLEND_POS))
1146+#define HCSIZE_BLEND_VID ((0x1) << FShft(HCSIZE_BLEND_POS))
1147+#define HCSIZE_BLEND_CUR ((0x2) << FShft(HCSIZE_BLEND_POS))
1148+#define HCSIZE_CWIDTH Fld(3,16)
1149+#define Hcsize_Cwidth(x) ((x) << FShft(HCSIZE_CWIDTH))
1150+#define HCSIZE_CHEIGHT Fld(3,0)
1151+#define Hcsize_Cheight(x) ((x) << FShft(HCSIZE_CHEIGHT))
1152+
1153+/* HCPOS Hardware Cursor Position Register fields */
1154+#define HCPOS_SWITCHSRC (1 << 30)
1155+#define HCPOS_CURBLINK Fld(6,24)
1156+#define Hcpos_Curblink(x) ((x) << FShft(HCPOS_CURBLINK))
1157+#define HCPOS_XSTART Fld(12,12)
1158+#define Hcpos_Xstart(x) ((x) << FShft(HCPOS_XSTART))
1159+#define HCPOS_YSTART Fld(12,0)
1160+#define Hcpos_Ystart(y) ((y) << FShft(HCPOS_YSTART))
1161+
1162+/* HCBADR Hardware Cursor Blend Address Register */
1163+#define HCBADR_GLALPHA Fld(8,24)
1164+#define Hcbadr_Glalpha(x) ((x) << FShft(HCBADR_GLALPHA))
1165+#define HCBADR_COLKEY Fld(24,0)
1166+#define Hcbadr_Colkey(x) ((x) << FShft(HCBADR_COLKEY))
1167+
1168+/* HCCKMSK - Hardware Cursor Color Key Mask Register */
1169+#define HCCKMSK_COLKEY_M Fld(24,0)
1170+#define Hcckmsk_Colkey_M(x) ((x) << FShft(HCCKMSK_COLKEY_M))
1171+
1172+/* DSCTRL - Display sync control register */
1173+#define DSCTRL_SYNCGEN_EN (1 << 31)
1174+#define DSCTRL_DPL_RST (1 << 29)
1175+#define DSCTRL_PWRDN_M (1 << 28)
1176+#define DSCTRL_UPDSYNCCNT (1 << 26)
1177+#define DSCTRL_UPDINTCNT (1 << 25)
1178+#define DSCTRL_UPDCNT (1 << 24)
1179+#define DSCTRL_UPDWAIT Fld(4,16)
1180+#define Dsctrl_Updwait(x) ((x) << FShft(DSCTRL_UPDWAIT))
1181+#define DSCTRL_CLKPOL (1 << 11)
1182+#define DSCTRL_CSYNC_EN (1 << 10)
1183+#define DSCTRL_VS_SLAVE (1 << 7)
1184+#define DSCTRL_HS_SLAVE (1 << 6)
1185+#define DSCTRL_BLNK_POL (1 << 5)
1186+#define DSCTRL_BLNK_DIS (1 << 4)
1187+#define DSCTRL_VS_POL (1 << 3)
1188+#define DSCTRL_VS_DIS (1 << 2)
1189+#define DSCTRL_HS_POL (1 << 1)
1190+#define DSCTRL_HS_DIS (1 << 0)
1191+
1192+/* DHT01 - Display horizontal timing register 01 */
1193+#define DHT01_HBPS Fld(12,16)
1194+#define Dht01_Hbps(x) ((x) << FShft(DHT01_HBPS))
1195+#define DHT01_HT Fld(12,0)
1196+#define Dht01_Ht(x) ((x) << FShft(DHT01_HT))
1197+
1198+/* DHT02 - Display horizontal timing register 02 */
1199+#define DHT02_HAS Fld(12,16)
1200+#define Dht02_Has(x) ((x) << FShft(DHT02_HAS))
1201+#define DHT02_HLBS Fld(12,0)
1202+#define Dht02_Hlbs(x) ((x) << FShft(DHT02_HLBS))
1203+
1204+/* DHT03 - Display horizontal timing register 03 */
1205+#define DHT03_HFPS Fld(12,16)
1206+#define Dht03_Hfps(x) ((x) << FShft(DHT03_HFPS))
1207+#define DHT03_HRBS Fld(12,0)
1208+#define Dht03_Hrbs(x) ((x) << FShft(DHT03_HRBS))
1209+
1210+/* DVT01 - Display vertical timing register 01 */
1211+#define DVT01_VBPS Fld(12,16)
1212+#define Dvt01_Vbps(x) ((x) << FShft(DVT01_VBPS))
1213+#define DVT01_VT Fld(12,0)
1214+#define Dvt01_Vt(x) ((x) << FShft(DVT01_VT))
1215+
1216+/* DVT02 - Display vertical timing register 02 */
1217+#define DVT02_VAS Fld(12,16)
1218+#define Dvt02_Vas(x) ((x) << FShft(DVT02_VAS))
1219+#define DVT02_VTBS Fld(12,0)
1220+#define Dvt02_Vtbs(x) ((x) << FShft(DVT02_VTBS))
1221+
1222+/* DVT03 - Display vertical timing register 03 */
1223+#define DVT03_VFPS Fld(12,16)
1224+#define Dvt03_Vfps(x) ((x) << FShft(DVT03_VFPS))
1225+#define DVT03_VBBS Fld(12,0)
1226+#define Dvt03_Vbbs(x) ((x) << FShft(DVT03_VBBS))
1227+
1228+/* DVECTRL - display vertical event control register */
1229+#define DVECTRL_VEVENT Fld(12,16)
1230+#define Dvectrl_Vevent(x) ((x) << FShft(DVECTRL_VEVENT))
1231+#define DVECTRL_VFETCH Fld(12,0)
1232+#define Dvectrl_Vfetch(x) ((x) << FShft(DVECTRL_VFETCH))
1233+
1234+/* DHDET - display horizontal DE timing register */
1235+#define DHDET_HDES Fld(12,16)
1236+#define Dhdet_Hdes(x) ((x) << FShft(DHDET_HDES))
1237+#define DHDET_HDEF Fld(12,0)
1238+#define Dhdet_Hdef(x) ((x) << FShft(DHDET_HDEF))
1239+
1240+/* DVDET - display vertical DE timing register */
1241+#define DVDET_VDES Fld(12,16)
1242+#define Dvdet_Vdes(x) ((x) << FShft(DVDET_VDES))
1243+#define DVDET_VDEF Fld(12,0)
1244+#define Dvdet_Vdef(x) ((x) << FShft(DVDET_VDEF))
1245+
1246+/* DODMSK - display output data mask register */
1247+#define DODMSK_MASK_LVL (1 << 31)
1248+#define DODMSK_BLNK_LVL (1 << 30)
1249+#define DODMSK_MASK_B Fld(8,16)
1250+#define Dodmsk_Mask_B(x) ((x) << FShft(DODMSK_MASK_B))
1251+#define DODMSK_MASK_G Fld(8,8)
1252+#define Dodmsk_Mask_G(x) ((x) << FShft(DODMSK_MASK_G))
1253+#define DODMSK_MASK_R Fld(8,0)
1254+#define Dodmsk_Mask_R(x) ((x) << FShft(DODMSK_MASK_R))
1255+
1256+/* DBCOL - display border color control register */
1257+#define DBCOL_BORDCOL Fld(24,0)
1258+#define Dbcol_Bordcol(x) ((x) << FShft(DBCOL_BORDCOL))
1259+
1260+/* DVLNUM - display vertical line number register */
1261+#define DVLNUM_VLINE Fld(12,0)
1262+#define Dvlnum_Vline(x) ((x) << FShft(DVLNUM_VLINE))
1263+
1264+/* DMCTRL - Display Memory Control Register */
1265+#define DMCTRL_MEM_REF Fld(2,30)
1266+#define DMCTRL_MEM_REF_ACT ((0x0) << FShft(DMCTRL_MEM_REF))
1267+#define DMCTRL_MEM_REF_HB ((0x1) << FShft(DMCTRL_MEM_REF))
1268+#define DMCTRL_MEM_REF_VB ((0x2) << FShft(DMCTRL_MEM_REF))
1269+#define DMCTRL_MEM_REF_BOTH ((0x3) << FShft(DMCTRL_MEM_REF))
1270+#define DMCTRL_UV_THRHLD Fld(6,24)
1271+#define Dmctrl_Uv_Thrhld(x) ((x) << FShft(DMCTRL_UV_THRHLD))
1272+#define DMCTRL_V_THRHLD Fld(7,16)
1273+#define Dmctrl_V_Thrhld(x) ((x) << FShft(DMCTRL_V_THRHLD))
1274+#define DMCTRL_D_THRHLD Fld(7,8)
1275+#define Dmctrl_D_Thrhld(x) ((x) << FShft(DMCTRL_D_THRHLD))
1276+#define DMCTRL_BURSTLEN Fld(6,0)
1277+#define Dmctrl_Burstlen(x) ((x) << FShft(DMCTRL_BURSTLEN))
1278+
1279+
1280+/* DLSTS - display load status register */
1281+#define DLSTS_RLD_ADONE (1 << 23)
1282+/* #define DLSTS_RLD_ADOUT Fld(23,0) */
1283+
1284+/* DLLCTRL - display list load control register */
1285+#define DLLCTRL_RLD_ADRLN Fld(8,24)
1286+#define Dllctrl_Rld_Adrln(x) ((x) << FShft(DLLCTRL_RLD_ADRLN))
1287+
1288+/* #define DSIG __REG_2700G(0x03FE2184) */
1289+/* #define DINTRS __REG_2700G(0x03FE2178) */
1290+/* #define DINTRE __REG_2700G(0x03FE217C) */
1291+/* #define DINTRCNT __REG_2700G(0x03FE2180) */
1292+/* #define DUCTRL __REG_2700G(0x03FE230C) */
1293+
1294+/* BGCOLOR - background color control register */
1295+/* #define BGCOLOR __REG_2700G(0x03FE2174) */
1296+
1297+/* #define CLIPCTRL __REG_2700G(0x03FE218C) */
1298+/* SPOCTRL - Scale Pitch/Order Control Register */
1299+#define SPOCTRL_H_SC_BP (1 << 31)
1300+#define SPOCTRL_V_SC_BP (1 << 30)
1301+#define SPOCTRL_HV_SC_OR (1 << 29)
1302+#define SPOCTRL_VS_UR_C (1 << 27)
1303+#define SPOCTRL_VORDER Fld(2,16)
1304+#define SPOCTRL_VORDER_1TAP ((0x0) << FShft(SPOCTRL_VORDER))
1305+#define SPOCTRL_VORDER_2TAP ((0x1) << FShft(SPOCTRL_VORDER))
1306+#define SPOCTRL_VORDER_4TAP ((0x3) << FShft(SPOCTRL_VORDER))
1307+#define SPOCTRL_VPITCH Fld(16,0)
1308+#define Spoctrl_Vpitch(x) ((x) << FShft(SPOCTRL_VPITCH))
1309+
1310+/* #define SVCTRL __REG_2700G(0x03FE2194) */
1311+
1312+/* /\* 0x03FE_2198 *\/ */
1313+/* /\* 0x03FE_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 *\/ */
1314+
1315+/* #define SHCTRL __REG_2700G(0x03FE21B0) */
1316+
1317+/* /\* 0x03FE_21B4 *\/ */
1318+/* /\* 0x03FE_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 *\/ */
1319+
1320+/* #define SSSIZE __REG_2700G(0x03FE21D8) */
1321+
1322+/* /\* 0x03FE_2200 *\/ */
1323+/* /\* 0x03FE_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 *\/ */
1324+
1325+/* /\* 0x03FE_2250 *\/ */
1326+/* /\* 0x03FE_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 *\/ */
1327+
1328+/* #define CSC01 __REG_2700G(0x03FE2330) */
1329+/* #define CSC02 __REG_2700G(0x03FE2334) */
1330+/* #define CSC03 __REG_2700G(0x03FE2338) */
1331+/* #define CSC04 __REG_2700G(0x03FE233C) */
1332+/* #define CSC05 __REG_2700G(0x03FE2340) */
1333+
1334+#endif /* __REG_BITS_2700G_ */
1335diff --git a/drivers/video/mbx/regs.h b/drivers/video/mbx/regs.h
1336new file mode 100644
1337index 0000000..edf0f14
1338--- /dev/null
1339+++ b/drivers/video/mbx/regs.h
1340@@ -0,0 +1,192 @@
1341+#ifndef __REGS_2700G_
1342+#define __REGS_2700G_
1343+
1344+/* extern unsigned long virt_base_2700; */
1345+#define __REG_2700G(x) (*(volatile unsigned long*)((x)+virt_base_2700))
1346+
1347+/* System Configuration Registers (0x0000_0000 0x0000_0010) */
1348+#define SYSCFG __REG_2700G(0x00000000)
1349+#define PFBASE __REG_2700G(0x00000004)
1350+#define PFCEIL __REG_2700G(0x00000008)
1351+#define POLLFLAG __REG_2700G(0x0000000c)
1352+#define SYSRST __REG_2700G(0x00000010)
1353+
1354+/* Interrupt Control Registers (0x0000_0014 0x0000_002F) */
1355+#define NINTPW __REG_2700G(0x00000014)
1356+#define MINTENABLE __REG_2700G(0x00000018)
1357+#define MINTSTAT __REG_2700G(0x0000001c)
1358+#define SINTENABLE __REG_2700G(0x00000020)
1359+#define SINTSTAT __REG_2700G(0x00000024)
1360+#define SINTCLR __REG_2700G(0x00000028)
1361+
1362+/* Clock Control Registers (0x0000_002C 0x0000_005F) */
1363+#define SYSCLKSRC __REG_2700G(0x0000002c)
1364+#define PIXCLKSRC __REG_2700G(0x00000030)
1365+#define CLKSLEEP __REG_2700G(0x00000034)
1366+#define COREPLL __REG_2700G(0x00000038)
1367+#define DISPPLL __REG_2700G(0x0000003c)
1368+#define PLLSTAT __REG_2700G(0x00000040)
1369+#define VOVRCLK __REG_2700G(0x00000044)
1370+#define PIXCLK __REG_2700G(0x00000048)
1371+#define MEMCLK __REG_2700G(0x0000004c)
1372+#define M24CLK __REG_2700G(0x00000054)
1373+#define MBXCLK __REG_2700G(0x00000054)
1374+#define SDCLK __REG_2700G(0x00000058)
1375+#define PIXCLKDIV __REG_2700G(0x0000005c)
1376+
1377+/* LCD Port Control Register (0x0000_0060 0x0000_006F) */
1378+#define LCD_CONFIG __REG_2700G(0x00000060)
1379+
1380+/* On-Die Frame Buffer Registers (0x0000_0064 0x0000_006B) */
1381+#define ODFBPWR __REG_2700G(0x00000064)
1382+#define ODFBSTAT __REG_2700G(0x00000068)
1383+
1384+/* GPIO Registers (0x0000_006C 0x0000_007F) */
1385+#define GPIOCGF __REG_2700G(0x0000006c)
1386+#define GPIOHI __REG_2700G(0x00000070)
1387+#define GPIOLO __REG_2700G(0x00000074)
1388+#define GPIOSTAT __REG_2700G(0x00000078)
1389+
1390+/* Pulse Width Modulator (PWM) Registers (0x0000_0200 0x0000_02FF) */
1391+#define PWMRST __REG_2700G(0x00000200)
1392+#define PWMCFG __REG_2700G(0x00000204)
1393+#define PWM0DIV __REG_2700G(0x00000210)
1394+#define PWM0DUTY __REG_2700G(0x00000214)
1395+#define PWM0PER __REG_2700G(0x00000218)
1396+#define PWM1DIV __REG_2700G(0x00000220)
1397+#define PWM1DUTY __REG_2700G(0x00000224)
1398+#define PWM1PER __REG_2700G(0x00000228)
1399+
1400+/* Identification (ID) Registers (0x0000_0300 0x0000_0FFF) */
1401+#define ID __REG_2700G(0x00000FF0)
1402+
1403+/* Local Memory (SDRAM) Interface Registers (0x0000_1000 0x0000_1FFF) */
1404+#define LMRST __REG_2700G(0x00001000)
1405+#define LMCFG __REG_2700G(0x00001004)
1406+#define LMPWR __REG_2700G(0x00001008)
1407+#define LMPWRSTAT __REG_2700G(0x0000100c)
1408+#define LMCEMR __REG_2700G(0x00001010)
1409+#define LMTYPE __REG_2700G(0x00001014)
1410+#define LMTIM __REG_2700G(0x00001018)
1411+#define LMREFRESH __REG_2700G(0x0000101c)
1412+#define LMPROTMIN __REG_2700G(0x00001020)
1413+#define LMPROTMAX __REG_2700G(0x00001024)
1414+#define LMPROTCFG __REG_2700G(0x00001028)
1415+#define LMPROTERR __REG_2700G(0x0000102c)
1416+
1417+/* Plane Controller Registers (0x0000_2000 0x0000_2FFF) */
1418+#define GSCTRL __REG_2700G(0x00002000)
1419+#define VSCTRL __REG_2700G(0x00002004)
1420+#define GBBASE __REG_2700G(0x00002020)
1421+#define VBBASE __REG_2700G(0x00002024)
1422+#define GDRCTRL __REG_2700G(0x00002040)
1423+#define VCMSK __REG_2700G(0x00002044)
1424+#define GSCADR __REG_2700G(0x00002060)
1425+#define VSCADR __REG_2700G(0x00002064)
1426+#define VUBASE __REG_2700G(0x00002084)
1427+#define VVBASE __REG_2700G(0x000020a4)
1428+#define GSADR __REG_2700G(0x000020c0)
1429+#define VSADR __REG_2700G(0x000020c4)
1430+#define HCCTRL __REG_2700G(0x00002100)
1431+#define HCSIZE __REG_2700G(0x00002110)
1432+#define HCPOS __REG_2700G(0x00002120)
1433+#define HCBADR __REG_2700G(0x00002130)
1434+#define HCCKMSK __REG_2700G(0x00002140)
1435+#define GPLUT __REG_2700G(0x00002150)
1436+#define DSCTRL __REG_2700G(0x00002154)
1437+#define DHT01 __REG_2700G(0x00002158)
1438+#define DHT02 __REG_2700G(0x0000215c)
1439+#define DHT03 __REG_2700G(0x00002160)
1440+#define DVT01 __REG_2700G(0x00002164)
1441+#define DVT02 __REG_2700G(0x00002168)
1442+#define DVT03 __REG_2700G(0x0000216c)
1443+#define DBCOL __REG_2700G(0x00002170)
1444+#define BGCOLOR __REG_2700G(0x00002174)
1445+#define DINTRS __REG_2700G(0x00002178)
1446+#define DINTRE __REG_2700G(0x0000217c)
1447+#define DINTRCNT __REG_2700G(0x00002180)
1448+#define DSIG __REG_2700G(0x00002184)
1449+#define DMCTRL __REG_2700G(0x00002188)
1450+#define CLIPCTRL __REG_2700G(0x0000218c)
1451+#define SPOCTRL __REG_2700G(0x00002190)
1452+#define SVCTRL __REG_2700G(0x00002194)
1453+
1454+/* 0x0000_2198 */
1455+/* 0x0000_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 */
1456+#define VSCOEFF0 __REG_2700G(0x00002198)
1457+#define VSCOEFF1 __REG_2700G(0x0000219c)
1458+#define VSCOEFF2 __REG_2700G(0x000021a0)
1459+#define VSCOEFF3 __REG_2700G(0x000021a4)
1460+#define VSCOEFF4 __REG_2700G(0x000021a8)
1461+
1462+#define SHCTRL __REG_2700G(0x000021b0)
1463+
1464+/* 0x0000_21B4 */
1465+/* 0x0000_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 */
1466+#define HSCOEFF0 __REG_2700G(0x000021b4)
1467+#define HSCOEFF1 __REG_2700G(0x000021b8)
1468+#define HSCOEFF2 __REG_2700G(0x000021bc)
1469+#define HSCOEFF3 __REG_2700G(0x000021b0)
1470+#define HSCOEFF4 __REG_2700G(0x000021c4)
1471+#define HSCOEFF5 __REG_2700G(0x000021c8)
1472+#define HSCOEFF6 __REG_2700G(0x000021cc)
1473+#define HSCOEFF7 __REG_2700G(0x000021d0)
1474+#define HSCOEFF8 __REG_2700G(0x000021d4)
1475+
1476+#define SSSIZE __REG_2700G(0x000021D8)
1477+
1478+/* 0x0000_2200 */
1479+/* 0x0000_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 */
1480+#define VIDGAM0 __REG_2700G(0x00002200)
1481+#define VIDGAM1 __REG_2700G(0x00002204)
1482+#define VIDGAM2 __REG_2700G(0x00002208)
1483+#define VIDGAM3 __REG_2700G(0x0000220c)
1484+#define VIDGAM4 __REG_2700G(0x00002210)
1485+#define VIDGAM5 __REG_2700G(0x00002214)
1486+#define VIDGAM6 __REG_2700G(0x00002218)
1487+#define VIDGAM7 __REG_2700G(0x0000221c)
1488+#define VIDGAM8 __REG_2700G(0x00002220)
1489+#define VIDGAM9 __REG_2700G(0x00002224)
1490+#define VIDGAM10 __REG_2700G(0x00002228)
1491+#define VIDGAM11 __REG_2700G(0x0000222c)
1492+#define VIDGAM12 __REG_2700G(0x00002230)
1493+#define VIDGAM13 __REG_2700G(0x00002234)
1494+#define VIDGAM14 __REG_2700G(0x00002238)
1495+#define VIDGAM15 __REG_2700G(0x0000223c)
1496+#define VIDGAM16 __REG_2700G(0x00002240)
1497+
1498+/* 0x0000_2250 */
1499+/* 0x0000_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 */
1500+#define GFXGAM0 __REG_2700G(0x00002250)
1501+#define GFXGAM1 __REG_2700G(0x00002254)
1502+#define GFXGAM2 __REG_2700G(0x00002258)
1503+#define GFXGAM3 __REG_2700G(0x0000225c)
1504+#define GFXGAM4 __REG_2700G(0x00002260)
1505+#define GFXGAM5 __REG_2700G(0x00002264)
1506+#define GFXGAM6 __REG_2700G(0x00002268)
1507+#define GFXGAM7 __REG_2700G(0x0000226c)
1508+#define GFXGAM8 __REG_2700G(0x00002270)
1509+#define GFXGAM9 __REG_2700G(0x00002274)
1510+#define GFXGAM10 __REG_2700G(0x00002278)
1511+#define GFXGAM11 __REG_2700G(0x0000227c)
1512+#define GFXGAM12 __REG_2700G(0x00002280)
1513+#define GFXGAM13 __REG_2700G(0x00002284)
1514+#define GFXGAM14 __REG_2700G(0x00002288)
1515+#define GFXGAM15 __REG_2700G(0x0000228c)
1516+#define GFXGAM16 __REG_2700G(0x00002290)
1517+
1518+#define DLSTS __REG_2700G(0x00002300)
1519+#define DLLCTRL __REG_2700G(0x00002304)
1520+#define DVLNUM __REG_2700G(0x00002308)
1521+#define DUCTRL __REG_2700G(0x0000230c)
1522+#define DVECTRL __REG_2700G(0x00002310)
1523+#define DHDET __REG_2700G(0x00002314)
1524+#define DVDET __REG_2700G(0x00002318)
1525+#define DODMSK __REG_2700G(0x0000231c)
1526+#define CSC01 __REG_2700G(0x00002330)
1527+#define CSC02 __REG_2700G(0x00002334)
1528+#define CSC03 __REG_2700G(0x00002338)
1529+#define CSC04 __REG_2700G(0x0000233c)
1530+#define CSC05 __REG_2700G(0x00002340)
1531+
1532+#endif /* __REGS_2700G_ */
1533diff --git a/include/linux/mbxfb.h b/include/linux/mbxfb.h
1534new file mode 100644
1535index 0000000..3bde0f5
1536--- /dev/null
1537+++ b/include/linux/mbxfb.h
1538@@ -0,0 +1,28 @@
1539+#ifndef __MBX_FB_H
1540+#define __MBX_FB_H
1541+
1542+struct mbxfb_val {
1543+ unsigned int defval;
1544+ unsigned int min;
1545+ unsigned int max;
1546+};
1547+
1548+struct fb_info;
1549+
1550+struct mbxfb_platform_data {
1551+ /* Screen info */
1552+ struct mbxfb_val xres;
1553+ struct mbxfb_val yres;
1554+ struct mbxfb_val bpp;
1555+
1556+ /* Memory info */
1557+ unsigned long memsize; /* if 0 use ODFB? */
1558+ unsigned long timings1;
1559+ unsigned long timings2;
1560+ unsigned long timings3;
1561+
1562+ int (*probe)(struct fb_info *fb);
1563+ int (*remove)(struct fb_info *fb);
1564+};
1565+
1566+#endif /* __MBX_FB_H */
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/defconfig b/openembedded/packages/linux/linux-cmx270-2.6.17/defconfig
new file mode 100644
index 0000000000..621fae7027
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270-2.6.17/defconfig
@@ -0,0 +1,1169 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17
4# Tue Jul 18 15:06:47 2006
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_ARCH_MTD_XIP=y
12CONFIG_VECTORS_BASE=0xffff0000
13
14#
15# Code maturity level options
16#
17CONFIG_EXPERIMENTAL=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_INIT_ENV_ARG_LIMIT=32
20
21#
22# General setup
23#
24CONFIG_LOCALVERSION="-8d"
25CONFIG_LOCALVERSION_AUTO=y
26CONFIG_SWAP=y
27CONFIG_SYSVIPC=y
28CONFIG_POSIX_MQUEUE=y
29# CONFIG_BSD_PROCESS_ACCT is not set
30CONFIG_SYSCTL=y
31# CONFIG_AUDIT is not set
32# CONFIG_IKCONFIG is not set
33# CONFIG_RELAY is not set
34CONFIG_INITRAMFS_SOURCE=""
35CONFIG_UID16=y
36# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
37# CONFIG_EMBEDDED is not set
38CONFIG_KALLSYMS=y
39# CONFIG_KALLSYMS_ALL is not set
40# CONFIG_KALLSYMS_EXTRA_PASS is not set
41CONFIG_HOTPLUG=y
42CONFIG_PRINTK=y
43CONFIG_BUG=y
44CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y
46CONFIG_FUTEX=y
47CONFIG_EPOLL=y
48CONFIG_SHMEM=y
49CONFIG_SLAB=y
50# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set
53
54#
55# Loadable module support
56#
57CONFIG_MODULES=y
58
59#
60# Block layer
61#
62# CONFIG_BLK_DEV_IO_TRACE is not set
63
64#
65# IO Schedulers
66#
67CONFIG_IOSCHED_NOOP=y
68CONFIG_IOSCHED_AS=y
69CONFIG_IOSCHED_DEADLINE=y
70CONFIG_IOSCHED_CFQ=y
71CONFIG_DEFAULT_AS=y
72# CONFIG_DEFAULT_DEADLINE is not set
73# CONFIG_DEFAULT_CFQ is not set
74# CONFIG_DEFAULT_NOOP is not set
75CONFIG_DEFAULT_IOSCHED="anticipatory"
76
77#
78# System Type
79#
80# CONFIG_ARCH_CLPS7500 is not set
81# CONFIG_ARCH_CLPS711X is not set
82# CONFIG_ARCH_CO285 is not set
83# CONFIG_ARCH_EBSA110 is not set
84# CONFIG_ARCH_EP93XX is not set
85# CONFIG_ARCH_FOOTBRIDGE is not set
86# CONFIG_ARCH_INTEGRATOR is not set
87# CONFIG_ARCH_IOP3XX is not set
88# CONFIG_ARCH_IXP4XX is not set
89# CONFIG_ARCH_IXP2000 is not set
90# CONFIG_ARCH_IXP23XX is not set
91# CONFIG_ARCH_L7200 is not set
92CONFIG_ARCH_PXA=y
93# CONFIG_ARCH_RPC is not set
94# CONFIG_ARCH_SA1100 is not set
95# CONFIG_ARCH_S3C2410 is not set
96# CONFIG_ARCH_SHARK is not set
97# CONFIG_ARCH_LH7A40X is not set
98# CONFIG_ARCH_OMAP is not set
99# CONFIG_ARCH_VERSATILE is not set
100# CONFIG_ARCH_REALVIEW is not set
101# CONFIG_ARCH_IMX is not set
102# CONFIG_ARCH_H720X is not set
103# CONFIG_ARCH_AAEC2000 is not set
104# CONFIG_ARCH_AT91RM9200 is not set
105
106#
107# Intel PXA2xx Implementations
108#
109# CONFIG_ARCH_LUBBOCK is not set
110# CONFIG_MACH_LOGICPD_PXA270 is not set
111# CONFIG_MACH_MAINSTONE is not set
112CONFIG_MACH_CM_X270=y
113# CONFIG_MACH_CM_X255 is not set
114# CONFIG_ARCH_PXA_IDP is not set
115# CONFIG_PXA_SHARPSL is not set
116#CONFIG_CM_X270_SB270=y
117CONFIG_CM_X270_ATXBASE=y
118CONFIG_CM_X270_REV12=y
119# CONFIG_CM_X270_REV11 is not set
120CONFIG_PXA27x=y
121CONFIG_IWMMXT=y
122
123#
124# Processor Type
125#
126CONFIG_CPU_32=y
127CONFIG_CPU_XSCALE=y
128CONFIG_CPU_32v5=y
129CONFIG_CPU_ABRT_EV5T=y
130CONFIG_CPU_CACHE_VIVT=y
131CONFIG_CPU_TLB_V4WBI=y
132
133#
134# Processor Features
135#
136# CONFIG_ARM_THUMB is not set
137CONFIG_XSCALE_PMU=y
138
139#
140# Bus support
141#
142# CONFIG_PCI is not set
143
144#
145# PCCARD (PCMCIA/CardBus) support
146#
147CONFIG_PCCARD=y
148# CONFIG_PCMCIA_DEBUG is not set
149CONFIG_PCMCIA=y
150CONFIG_PCMCIA_LOAD_CIS=y
151CONFIG_PCMCIA_IOCTL=y
152
153#
154# PC-card bridges
155#
156CONFIG_PCMCIA_PXA2XX=y
157
158#
159# Kernel Features
160#
161# CONFIG_PREEMPT is not set
162# CONFIG_NO_IDLE_HZ is not set
163CONFIG_HZ=100
164# CONFIG_AEABI is not set
165# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
166CONFIG_SELECT_MEMORY_MODEL=y
167CONFIG_FLATMEM_MANUAL=y
168# CONFIG_DISCONTIGMEM_MANUAL is not set
169# CONFIG_SPARSEMEM_MANUAL is not set
170CONFIG_FLATMEM=y
171CONFIG_FLAT_NODE_MEM_MAP=y
172# CONFIG_SPARSEMEM_STATIC is not set
173CONFIG_SPLIT_PTLOCK_CPUS=4096
174CONFIG_LEDS=y
175CONFIG_LEDS_TIMER=y
176CONFIG_LEDS_CPU=y
177CONFIG_ALIGNMENT_TRAP=y
178
179#
180# Boot options
181#
182CONFIG_ZBOOT_ROM_TEXT=0x0
183CONFIG_ZBOOT_ROM_BSS=0x0
184CONFIG_CMDLINE="console=ttyS0,38400 console=tty0 root=/dev/sda1 rootdelay=10 video=mbxfb"
185#CONFIG_CMDLINE="console=ttyS0,38400 root=/dev/sda1 rootdelay=10 rw video=pxafb:mode:240x320-16,pixclock:367647,left:20,right:2,hsynclen:10,upper:3,lower:2,vsynclen:2,active,color,outputen:1,pixclockpol:1,vsync:0,hsync:0"
186# CONFIG_XIP_KERNEL is not set
187
188#
189# Floating point emulation
190#
191
192#
193# At least one emulation must be selected
194#
195CONFIG_FPE_NWFPE=y
196# CONFIG_FPE_NWFPE_XP is not set
197# CONFIG_FPE_FASTFPE is not set
198
199#
200# Userspace binary formats
201#
202CONFIG_BINFMT_ELF=y
203# CONFIG_BINFMT_AOUT is not set
204# CONFIG_BINFMT_MISC is not set
205# CONFIG_ARTHUR is not set
206
207#
208# Power management options
209#
210CONFIG_PM=y
211CONFIG_PM_LEGACY=y
212# CONFIG_PM_DEBUG is not set
213# CONFIG_APM is not set
214
215#
216# Networking
217#
218CONFIG_NET=y
219
220#
221# Networking options
222#
223# CONFIG_NETDEBUG is not set
224CONFIG_PACKET=y
225# CONFIG_PACKET_MMAP is not set
226CONFIG_UNIX=y
227# CONFIG_NET_KEY is not set
228CONFIG_INET=y
229CONFIG_IP_MULTICAST=y
230# CONFIG_IP_ADVANCED_ROUTER is not set
231CONFIG_IP_FIB_HASH=y
232# CONFIG_IP_PNP is not set
233# CONFIG_NET_IPIP is not set
234# CONFIG_NET_IPGRE is not set
235# CONFIG_IP_MROUTE is not set
236# CONFIG_ARPD is not set
237# CONFIG_SYN_COOKIES is not set
238# CONFIG_INET_AH is not set
239# CONFIG_INET_ESP is not set
240# CONFIG_INET_IPCOMP is not set
241# CONFIG_INET_XFRM_TUNNEL is not set
242# CONFIG_INET_TUNNEL is not set
243CONFIG_INET_DIAG=y
244CONFIG_INET_TCP_DIAG=y
245# CONFIG_TCP_CONG_ADVANCED is not set
246CONFIG_TCP_CONG_BIC=y
247# CONFIG_IPV6 is not set
248# CONFIG_INET6_XFRM_TUNNEL is not set
249# CONFIG_INET6_TUNNEL is not set
250# CONFIG_NETFILTER is not set
251
252#
253# DCCP Configuration (EXPERIMENTAL)
254#
255# CONFIG_IP_DCCP is not set
256
257#
258# SCTP Configuration (EXPERIMENTAL)
259#
260# CONFIG_IP_SCTP is not set
261
262#
263# TIPC Configuration (EXPERIMENTAL)
264#
265# CONFIG_TIPC is not set
266# CONFIG_ATM is not set
267# CONFIG_BRIDGE is not set
268# CONFIG_VLAN_8021Q is not set
269# CONFIG_DECNET is not set
270# CONFIG_LLC2 is not set
271# CONFIG_IPX is not set
272# CONFIG_ATALK is not set
273# CONFIG_X25 is not set
274# CONFIG_LAPB is not set
275# CONFIG_NET_DIVERT is not set
276# CONFIG_ECONET is not set
277# CONFIG_WAN_ROUTER is not set
278
279#
280# QoS and/or fair queueing
281#
282# CONFIG_NET_SCHED is not set
283
284#
285# Network testing
286#
287# CONFIG_NET_PKTGEN is not set
288# CONFIG_HAMRADIO is not set
289# CONFIG_IRDA is not set
290# CONFIG_BT is not set
291# CONFIG_IEEE80211 is not set
292
293#
294# Device Drivers
295#
296
297#
298# Generic Driver Options
299#
300CONFIG_STANDALONE=y
301CONFIG_PREVENT_FIRMWARE_BUILD=y
302CONFIG_FW_LOADER=y
303# CONFIG_DEBUG_DRIVER is not set
304
305#
306# Connector - unified userspace <-> kernelspace linker
307#
308# CONFIG_CONNECTOR is not set
309
310#
311# Memory Technology Devices (MTD)
312#
313CONFIG_MTD=y
314CONFIG_MTD_DEBUG=y
315CONFIG_MTD_DEBUG_VERBOSE=0
316# CONFIG_MTD_CONCAT is not set
317CONFIG_MTD_PARTITIONS=y
318# CONFIG_MTD_REDBOOT_PARTS is not set
319CONFIG_MTD_CMDLINE_PARTS=y
320# CONFIG_MTD_AFS_PARTS is not set
321
322#
323# User Modules And Translation Layers
324#
325CONFIG_MTD_CHAR=y
326CONFIG_MTD_BLOCK=y
327# CONFIG_FTL is not set
328# CONFIG_NFTL is not set
329# CONFIG_INFTL is not set
330# CONFIG_RFD_FTL is not set
331
332#
333# RAM/ROM/Flash chip drivers
334#
335# CONFIG_MTD_CFI is not set
336# CONFIG_MTD_JEDECPROBE is not set
337CONFIG_MTD_MAP_BANK_WIDTH_1=y
338CONFIG_MTD_MAP_BANK_WIDTH_2=y
339CONFIG_MTD_MAP_BANK_WIDTH_4=y
340# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
341# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
342# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
343CONFIG_MTD_CFI_I1=y
344CONFIG_MTD_CFI_I2=y
345# CONFIG_MTD_CFI_I4 is not set
346# CONFIG_MTD_CFI_I8 is not set
347# CONFIG_MTD_RAM is not set
348# CONFIG_MTD_ROM is not set
349# CONFIG_MTD_ABSENT is not set
350# CONFIG_MTD_OBSOLETE_CHIPS is not set
351
352#
353# Mapping drivers for chip access
354#
355# CONFIG_MTD_COMPLEX_MAPPINGS is not set
356# CONFIG_MTD_SHARP_SL is not set
357# CONFIG_MTD_PLATRAM is not set
358
359#
360# Self-contained MTD device drivers
361#
362# CONFIG_MTD_DATAFLASH is not set
363# CONFIG_MTD_M25P80 is not set
364# CONFIG_MTD_SLRAM is not set
365# CONFIG_MTD_PHRAM is not set
366# CONFIG_MTD_MTDRAM is not set
367# CONFIG_MTD_BLOCK2MTD is not set
368
369#
370# Disk-On-Chip Device Drivers
371#
372# CONFIG_MTD_DOC2000 is not set
373# CONFIG_MTD_DOC2001 is not set
374# CONFIG_MTD_DOC2001PLUS is not set
375
376#
377# NAND Flash Device Drivers
378#
379CONFIG_MTD_NAND=y
380CONFIG_MTD_NAND_VERIFY_WRITE=y
381# CONFIG_MTD_NAND_H1900 is not set
382CONFIG_MTD_NAND_IDS=y
383# CONFIG_MTD_NAND_DISKONCHIP is not set
384# CONFIG_MTD_NAND_SHARPSL is not set
385# CONFIG_MTD_NAND_NANDSIM is not set
386CONFIG_MTD_NAND_CM_X270=y
387
388#
389# OneNAND Flash Device Drivers
390#
391# CONFIG_MTD_ONENAND is not set
392
393#
394# Parallel port support
395#
396# CONFIG_PARPORT is not set
397
398#
399# Plug and Play support
400#
401
402#
403# Block devices
404#
405# CONFIG_BLK_DEV_COW_COMMON is not set
406CONFIG_BLK_DEV_LOOP=y
407# CONFIG_BLK_DEV_CRYPTOLOOP is not set
408# CONFIG_BLK_DEV_NBD is not set
409# CONFIG_BLK_DEV_UB is not set
410# CONFIG_BLK_DEV_RAM is not set
411# CONFIG_BLK_DEV_INITRD is not set
412# CONFIG_CDROM_PKTCDVD is not set
413# CONFIG_ATA_OVER_ETH is not set
414
415#
416# ATA/ATAPI/MFM/RLL support
417#
418# CONFIG_IDE is not set
419
420#
421# SCSI device support
422#
423# CONFIG_RAID_ATTRS is not set
424CONFIG_SCSI=y
425# CONFIG_SCSI_PROC_FS is not set
426
427#
428# SCSI support type (disk, tape, CD-ROM)
429#
430CONFIG_BLK_DEV_SD=y
431# CONFIG_CHR_DEV_ST is not set
432# CONFIG_CHR_DEV_OSST is not set
433# CONFIG_BLK_DEV_SR is not set
434CONFIG_CHR_DEV_SG=y
435# CONFIG_CHR_DEV_SCH is not set
436
437#
438# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
439#
440# CONFIG_SCSI_MULTI_LUN is not set
441# CONFIG_SCSI_CONSTANTS is not set
442# CONFIG_SCSI_LOGGING is not set
443
444#
445# SCSI Transport Attributes
446#
447# CONFIG_SCSI_SPI_ATTRS is not set
448# CONFIG_SCSI_FC_ATTRS is not set
449# CONFIG_SCSI_ISCSI_ATTRS is not set
450# CONFIG_SCSI_SAS_ATTRS is not set
451
452#
453# SCSI low-level drivers
454#
455# CONFIG_ISCSI_TCP is not set
456# CONFIG_SCSI_SATA is not set
457# CONFIG_SCSI_DEBUG is not set
458
459#
460# Multi-device support (RAID and LVM)
461#
462# CONFIG_MD is not set
463
464#
465# Fusion MPT device support
466#
467# CONFIG_FUSION is not set
468
469#
470# IEEE 1394 (FireWire) support
471#
472
473#
474# I2O device support
475#
476
477#
478# Network device support
479#
480CONFIG_NETDEVICES=y
481# CONFIG_DUMMY is not set
482# CONFIG_BONDING is not set
483# CONFIG_EQUALIZER is not set
484# CONFIG_TUN is not set
485
486#
487# PHY device support
488#
489# CONFIG_PHYLIB is not set
490
491#
492# Ethernet (10 or 100Mbit)
493#
494CONFIG_NET_ETHERNET=y
495CONFIG_MII=y
496# CONFIG_SMC91X is not set
497CONFIG_DM9000=y
498
499#
500# Ethernet (1000 Mbit)
501#
502
503#
504# Ethernet (10000 Mbit)
505#
506
507#
508# Token Ring devices
509#
510
511#
512# Wireless LAN (non-hamradio)
513#
514# CONFIG_NET_RADIO is not set
515
516#
517# PCMCIA network device support
518#
519# CONFIG_NET_PCMCIA is not set
520
521#
522# Wan interfaces
523#
524# CONFIG_WAN is not set
525CONFIG_PPP=y
526# CONFIG_PPP_MULTILINK is not set
527# CONFIG_PPP_FILTER is not set
528CONFIG_PPP_ASYNC=y
529# CONFIG_PPP_SYNC_TTY is not set
530CONFIG_PPP_DEFLATE=y
531CONFIG_PPP_BSDCOMP=y
532# CONFIG_PPP_MPPE is not set
533# CONFIG_PPPOE is not set
534# CONFIG_SLIP is not set
535# CONFIG_SHAPER is not set
536# CONFIG_NETCONSOLE is not set
537# CONFIG_NETPOLL is not set
538# CONFIG_NET_POLL_CONTROLLER is not set
539
540#
541# ISDN subsystem
542#
543# CONFIG_ISDN is not set
544
545#
546# Input device support
547#
548CONFIG_INPUT=y
549
550#
551# Userland interfaces
552#
553CONFIG_INPUT_MOUSEDEV=y
554# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
555CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
556CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
557# CONFIG_INPUT_JOYDEV is not set
558# CONFIG_INPUT_TSDEV is not set
559# CONFIG_INPUT_TSLIBDEV is not set
560CONFIG_INPUT_EVDEV=y
561# CONFIG_INPUT_EVBUG is not set
562
563#
564# Input Device Drivers
565#
566CONFIG_INPUT_KEYBOARD=y
567CONFIG_KEYBOARD_ATKBD=y
568CONFIG_KEYBOARD_SUNKBD=y
569# CONFIG_KEYBOARD_LKKBD is not set
570# CONFIG_KEYBOARD_XTKBD is not set
571# CONFIG_KEYBOARD_NEWTON is not set
572# CONFIG_INPUT_MOUSE is not set
573# CONFIG_INPUT_JOYSTICK is not set
574# CONFIG_INPUT_TOUCHSCREEN is not set
575# CONFIG_INPUT_MISC is not set
576
577#
578# Hardware I/O ports
579#
580CONFIG_SERIO=y
581# CONFIG_SERIO_SERPORT is not set
582CONFIG_SERIO_LIBPS2=y
583# CONFIG_SERIO_RAW is not set
584# CONFIG_GAMEPORT is not set
585
586#
587# Character devices
588#
589CONFIG_VT=y
590CONFIG_VT_CONSOLE=y
591CONFIG_HW_CONSOLE=y
592# CONFIG_SERIAL_NONSTANDARD is not set
593
594#
595# Serial drivers
596#
597# CONFIG_SERIAL_8250 is not set
598
599#
600# Non-8250 serial port support
601#
602CONFIG_SERIAL_PXA=y
603CONFIG_SERIAL_PXA_CONSOLE=y
604CONFIG_SERIAL_CORE=y
605CONFIG_SERIAL_CORE_CONSOLE=y
606CONFIG_UNIX98_PTYS=y
607CONFIG_LEGACY_PTYS=y
608CONFIG_LEGACY_PTY_COUNT=256
609
610#
611# IPMI
612#
613# CONFIG_IPMI_HANDLER is not set
614
615#
616# Watchdog Cards
617#
618# CONFIG_WATCHDOG is not set
619# CONFIG_NVRAM is not set
620# CONFIG_DTLK is not set
621# CONFIG_R3964 is not set
622
623#
624# Ftape, the floppy tape device driver
625#
626
627#
628# PCMCIA character devices
629#
630# CONFIG_SYNCLINK_CS is not set
631# CONFIG_CARDMAN_4000 is not set
632# CONFIG_CARDMAN_4040 is not set
633# CONFIG_RAW_DRIVER is not set
634
635#
636# TPM devices
637#
638# CONFIG_TCG_TPM is not set
639# CONFIG_TELCLOCK is not set
640
641#
642# I2C support
643#
644# CONFIG_I2C is not set
645
646#
647# SPI support
648#
649CONFIG_SPI=y
650# CONFIG_SPI_DEBUG is not set
651CONFIG_SPI_MASTER=y
652
653#
654# SPI Master Controller Drivers
655#
656# CONFIG_SPI_BITBANG is not set
657CONFIG_SPI_PXA2XX=y
658
659#
660# SPI Protocol Masters
661#
662
663#
664# Dallas's 1-wire bus
665#
666# CONFIG_W1 is not set
667
668#
669# Hardware Monitoring support
670#
671# CONFIG_HWMON is not set
672# CONFIG_HWMON_VID is not set
673
674#
675# Misc devices
676#
677
678#
679# Multimedia Capabilities Port drivers
680#
681CONFIG_UCB1400_TS=y
682
683#
684# LED devices
685#
686# CONFIG_NEW_LEDS is not set
687
688#
689# LED drivers
690#
691
692#
693# LED Triggers
694#
695
696#
697# Multimedia devices
698#
699# CONFIG_VIDEO_DEV is not set
700CONFIG_VIDEO_V4L2=y
701
702#
703# Digital Video Broadcasting Devices
704#
705# CONFIG_DVB is not set
706# CONFIG_USB_DABUSB is not set
707
708#
709# Graphics support
710#
711CONFIG_FB=y
712CONFIG_FB_CFB_FILLRECT=y
713CONFIG_FB_CFB_COPYAREA=y
714CONFIG_FB_CFB_IMAGEBLIT=y
715# CONFIG_FB_MACMODES is not set
716# CONFIG_FB_FIRMWARE_EDID is not set
717# CONFIG_FB_MODE_HELPERS is not set
718# CONFIG_FB_TILEBLITTING is not set
719# CONFIG_FB_S1D13XXX is not set
720#CONFIG_FB_PXA is not set
721#CONFIG_FB_PXA_PARAMETERS is not set
722CONFIG_FB_MBX=y
723# CONFIG_FB_VIRTUAL is not set
724
725#
726# Console display driver support
727#
728# CONFIG_VGA_CONSOLE is not set
729CONFIG_DUMMY_CONSOLE=y
730CONFIG_FRAMEBUFFER_CONSOLE=y
731
732#
733# Logo configuration
734#
735# CONFIG_LOGO is not set
736# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
737
738#
739# Sound
740#
741CONFIG_SOUND=y
742
743#
744# Advanced Linux Sound Architecture
745#
746CONFIG_SND=y
747CONFIG_SND_TIMER=y
748CONFIG_SND_PCM=y
749# CONFIG_SND_SEQUENCER is not set
750CONFIG_SND_OSSEMUL=y
751CONFIG_SND_MIXER_OSS=y
752CONFIG_SND_PCM_OSS=y
753CONFIG_SND_PCM_OSS_PLUGINS=y
754# CONFIG_SND_DYNAMIC_MINORS is not set
755CONFIG_SND_SUPPORT_OLD_API=y
756CONFIG_SND_VERBOSE_PROCFS=y
757# CONFIG_SND_VERBOSE_PRINTK is not set
758# CONFIG_SND_DEBUG is not set
759
760#
761# Generic devices
762#
763CONFIG_SND_AC97_CODEC=y
764CONFIG_SND_AC97_BUS=y
765# CONFIG_SND_DUMMY is not set
766# CONFIG_SND_MTPAV is not set
767# CONFIG_SND_SERIAL_U16550 is not set
768# CONFIG_SND_MPU401 is not set
769
770#
771# ALSA ARM devices
772#
773CONFIG_SND_PXA2XX_PCM=y
774CONFIG_SND_PXA2XX_AC97=y
775
776#
777# USB devices
778#
779# CONFIG_SND_USB_AUDIO is not set
780
781#
782# PCMCIA devices
783#
784# CONFIG_SND_VXPOCKET is not set
785# CONFIG_SND_PDAUDIOCF is not set
786
787#
788# Open Sound System
789#
790# CONFIG_SOUND_PRIME is not set
791
792#
793# USB support
794#
795CONFIG_USB_ARCH_HAS_HCD=y
796CONFIG_USB_ARCH_HAS_OHCI=y
797# CONFIG_USB_ARCH_HAS_EHCI is not set
798CONFIG_USB=y
799# CONFIG_USB_DEBUG is not set
800
801#
802# Miscellaneous USB options
803#
804CONFIG_USB_DEVICEFS=y
805# CONFIG_USB_BANDWIDTH is not set
806# CONFIG_USB_DYNAMIC_MINORS is not set
807# CONFIG_USB_SUSPEND is not set
808# CONFIG_USB_OTG is not set
809
810#
811# USB Host Controller Drivers
812#
813# CONFIG_USB_ISP116X_HCD is not set
814CONFIG_USB_OHCI_HCD=y
815# CONFIG_USB_OHCI_BIG_ENDIAN is not set
816CONFIG_USB_OHCI_LITTLE_ENDIAN=y
817# CONFIG_USB_SL811_HCD is not set
818
819#
820# USB Device Class drivers
821#
822# CONFIG_USB_ACM is not set
823# CONFIG_USB_PRINTER is not set
824
825#
826# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
827#
828
829#
830# may also be needed; see USB_STORAGE Help for more information
831#
832CONFIG_USB_STORAGE=y
833# CONFIG_USB_STORAGE_DEBUG is not set
834# CONFIG_USB_STORAGE_DATAFAB is not set
835# CONFIG_USB_STORAGE_FREECOM is not set
836# CONFIG_USB_STORAGE_DPCM is not set
837# CONFIG_USB_STORAGE_USBAT is not set
838# CONFIG_USB_STORAGE_SDDR09 is not set
839# CONFIG_USB_STORAGE_SDDR55 is not set
840# CONFIG_USB_STORAGE_JUMPSHOT is not set
841# CONFIG_USB_STORAGE_ALAUDA is not set
842# CONFIG_USB_LIBUSUAL is not set
843
844#
845# USB Input Devices
846#
847# CONFIG_USB_HID is not set
848
849#
850# USB HID Boot Protocol drivers
851#
852# CONFIG_USB_KBD is not set
853# CONFIG_USB_MOUSE is not set
854# CONFIG_USB_AIPTEK is not set
855# CONFIG_USB_WACOM is not set
856# CONFIG_USB_ACECAD is not set
857# CONFIG_USB_KBTAB is not set
858# CONFIG_USB_POWERMATE is not set
859# CONFIG_USB_TOUCHSCREEN is not set
860# CONFIG_USB_YEALINK is not set
861# CONFIG_USB_XPAD is not set
862# CONFIG_USB_ATI_REMOTE is not set
863# CONFIG_USB_ATI_REMOTE2 is not set
864# CONFIG_USB_KEYSPAN_REMOTE is not set
865# CONFIG_USB_APPLETOUCH is not set
866
867#
868# USB Imaging devices
869#
870# CONFIG_USB_MDC800 is not set
871# CONFIG_USB_MICROTEK is not set
872
873#
874# USB Network Adapters
875#
876# CONFIG_USB_CATC is not set
877# CONFIG_USB_KAWETH is not set
878# CONFIG_USB_PEGASUS is not set
879# CONFIG_USB_RTL8150 is not set
880# CONFIG_USB_USBNET is not set
881# CONFIG_USB_MON is not set
882
883#
884# USB port drivers
885#
886
887#
888# USB Serial Converter support
889#
890# CONFIG_USB_SERIAL is not set
891
892#
893# USB Miscellaneous drivers
894#
895# CONFIG_USB_EMI62 is not set
896# CONFIG_USB_EMI26 is not set
897# CONFIG_USB_AUERSWALD is not set
898# CONFIG_USB_RIO500 is not set
899# CONFIG_USB_LEGOTOWER is not set
900# CONFIG_USB_LCD is not set
901# CONFIG_USB_LED is not set
902# CONFIG_USB_CYTHERM is not set
903# CONFIG_USB_PHIDGETKIT is not set
904# CONFIG_USB_PHIDGETSERVO is not set
905# CONFIG_USB_IDMOUSE is not set
906# CONFIG_USB_LD is not set
907# CONFIG_USB_TEST is not set
908
909#
910# USB DSL modem support
911#
912
913#
914# USB Gadget Support
915#
916CONFIG_USB_GADGET=y
917# CONFIG_USB_GADGET_DEBUG_FILES is not set
918CONFIG_USB_GADGET_SELECTED=y
919# CONFIG_USB_GADGET_NET2280 is not set
920# CONFIG_USB_GADGET_PXA2XX is not set
921CONFIG_USB_GADGET_PXA27X=y
922CONFIG_USB_PXA27X=y
923# CONFIG_USB_GADGET_GOKU is not set
924# CONFIG_USB_GADGET_LH7A40X is not set
925# CONFIG_USB_GADGET_OMAP is not set
926# CONFIG_USB_GADGET_AT91 is not set
927# CONFIG_USB_GADGET_DUMMY_HCD is not set
928# CONFIG_USB_GADGET_DUALSPEED is not set
929# CONFIG_USB_ZERO is not set
930CONFIG_USB_ETH=y
931CONFIG_USB_ETH_RNDIS=y
932# CONFIG_USB_GADGETFS is not set
933# CONFIG_USB_FILE_STORAGE is not set
934# CONFIG_USB_G_SERIAL is not set
935# CONFIG_USB_G_CHAR is not set
936
937#
938# MMC/SD Card support
939#
940# CONFIG_MMC is not set
941
942#
943# Real Time Clock
944#
945CONFIG_RTC_LIB=y
946CONFIG_RTC_CLASS=y
947CONFIG_RTC_HCTOSYS=y
948CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
949
950#
951# RTC interfaces
952#
953CONFIG_RTC_INTF_SYSFS=y
954CONFIG_RTC_INTF_PROC=y
955CONFIG_RTC_INTF_DEV=y
956
957#
958# RTC drivers
959#
960# CONFIG_RTC_DRV_M48T86 is not set
961# CONFIG_RTC_DRV_SA1100 is not set
962# CONFIG_RTC_DRV_TEST is not set
963# CONFIG_RTC_DRV_MAX6902 is not set
964CONFIG_RTC_DRV_V3020=y
965
966#
967# File systems
968#
969CONFIG_EXT2_FS=y
970CONFIG_EXT2_FS_XATTR=y
971CONFIG_EXT2_FS_POSIX_ACL=y
972# CONFIG_EXT2_FS_SECURITY is not set
973# CONFIG_EXT2_FS_XIP is not set
974CONFIG_EXT3_FS=y
975CONFIG_FS_MBCACHE=y
976# CONFIG_REISERFS_FS is not set
977# CONFIG_JFS_FS is not set
978CONFIG_FS_POSIX_ACL=y
979# CONFIG_XFS_FS is not set
980# CONFIG_OCFS2_FS is not set
981# CONFIG_MINIX_FS is not set
982# CONFIG_ROMFS_FS is not set
983CONFIG_INOTIFY=y
984# CONFIG_QUOTA is not set
985CONFIG_DNOTIFY=y
986# CONFIG_AUTOFS_FS is not set
987# CONFIG_AUTOFS4_FS is not set
988# CONFIG_FUSE_FS is not set
989
990#
991# CD-ROM/DVD Filesystems
992#
993# CONFIG_ISO9660_FS is not set
994# CONFIG_UDF_FS is not set
995
996#
997# DOS/FAT/NT Filesystems
998#
999CONFIG_FAT_FS=y
1000CONFIG_MSDOS_FS=y
1001CONFIG_VFAT_FS=y
1002CONFIG_FAT_DEFAULT_CODEPAGE=437
1003CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1004# CONFIG_NTFS_FS is not set
1005
1006#
1007# Pseudo filesystems
1008#
1009CONFIG_PROC_FS=y
1010CONFIG_SYSFS=y
1011CONFIG_TMPFS=y
1012# CONFIG_HUGETLB_PAGE is not set
1013CONFIG_RAMFS=y
1014# CONFIG_CONFIGFS_FS is not set
1015
1016#
1017# Miscellaneous filesystems
1018#
1019# CONFIG_ADFS_FS is not set
1020# CONFIG_AFFS_FS is not set
1021# CONFIG_HFS_FS is not set
1022# CONFIG_HFSPLUS_FS is not set
1023# CONFIG_BEFS_FS is not set
1024# CONFIG_BFS_FS is not set
1025# CONFIG_EFS_FS is not set
1026# CONFIG_JFFS_FS is not set
1027CONFIG_JFFS2_FS=y
1028CONFIG_JFFS2_FS_DEBUG=0
1029CONFIG_JFFS2_FS_WRITEBUFFER=y
1030# CONFIG_JFFS2_SUMMARY is not set
1031# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1032CONFIG_JFFS2_ZLIB=y
1033CONFIG_JFFS2_RTIME=y
1034# CONFIG_JFFS2_RUBIN is not set
1035# CONFIG_CRAMFS is not set
1036# CONFIG_VXFS_FS is not set
1037# CONFIG_HPFS_FS is not set
1038# CONFIG_QNX4FS_FS is not set
1039# CONFIG_SYSV_FS is not set
1040# CONFIG_UFS_FS is not set
1041
1042#
1043# Network File Systems
1044#
1045CONFIG_NFS_FS=y
1046CONFIG_NFS_V3=y
1047# CONFIG_NFS_V3_ACL is not set
1048# CONFIG_NFS_V4 is not set
1049# CONFIG_NFS_DIRECTIO is not set
1050# CONFIG_NFSD is not set
1051CONFIG_LOCKD=y
1052CONFIG_LOCKD_V4=y
1053CONFIG_NFS_COMMON=y
1054CONFIG_SUNRPC=y
1055# CONFIG_RPCSEC_GSS_KRB5 is not set
1056# CONFIG_RPCSEC_GSS_SPKM3 is not set
1057# CONFIG_SMB_FS is not set
1058# CONFIG_CIFS is not set
1059# CONFIG_NCP_FS is not set
1060# CONFIG_CODA_FS is not set
1061# CONFIG_AFS_FS is not set
1062# CONFIG_9P_FS is not set
1063
1064#
1065# Partition Types
1066#
1067# CONFIG_PARTITION_ADVANCED is not set
1068CONFIG_MSDOS_PARTITION=y
1069
1070#
1071# Native Language Support
1072#
1073CONFIG_NLS=y
1074CONFIG_NLS_DEFAULT="iso8859-1"
1075CONFIG_NLS_CODEPAGE_437=y
1076# CONFIG_NLS_CODEPAGE_737 is not set
1077# CONFIG_NLS_CODEPAGE_775 is not set
1078# CONFIG_NLS_CODEPAGE_850 is not set
1079# CONFIG_NLS_CODEPAGE_852 is not set
1080# CONFIG_NLS_CODEPAGE_855 is not set
1081# CONFIG_NLS_CODEPAGE_857 is not set
1082# CONFIG_NLS_CODEPAGE_860 is not set
1083# CONFIG_NLS_CODEPAGE_861 is not set
1084# CONFIG_NLS_CODEPAGE_862 is not set
1085# CONFIG_NLS_CODEPAGE_863 is not set
1086# CONFIG_NLS_CODEPAGE_864 is not set
1087# CONFIG_NLS_CODEPAGE_865 is not set
1088# CONFIG_NLS_CODEPAGE_866 is not set
1089# CONFIG_NLS_CODEPAGE_869 is not set
1090# CONFIG_NLS_CODEPAGE_936 is not set
1091# CONFIG_NLS_CODEPAGE_950 is not set
1092# CONFIG_NLS_CODEPAGE_932 is not set
1093# CONFIG_NLS_CODEPAGE_949 is not set
1094# CONFIG_NLS_CODEPAGE_874 is not set
1095# CONFIG_NLS_ISO8859_8 is not set
1096# CONFIG_NLS_CODEPAGE_1250 is not set
1097# CONFIG_NLS_CODEPAGE_1251 is not set
1098# CONFIG_NLS_ASCII is not set
1099# CONFIG_NLS_ISO8859_1 is not set
1100# CONFIG_NLS_ISO8859_2 is not set
1101# CONFIG_NLS_ISO8859_3 is not set
1102# CONFIG_NLS_ISO8859_4 is not set
1103# CONFIG_NLS_ISO8859_5 is not set
1104# CONFIG_NLS_ISO8859_6 is not set
1105# CONFIG_NLS_ISO8859_7 is not set
1106# CONFIG_NLS_ISO8859_9 is not set
1107# CONFIG_NLS_ISO8859_13 is not set
1108# CONFIG_NLS_ISO8859_14 is not set
1109# CONFIG_NLS_ISO8859_15 is not set
1110# CONFIG_NLS_KOI8_R is not set
1111# CONFIG_NLS_KOI8_U is not set
1112# CONFIG_NLS_UTF8 is not set
1113
1114#
1115# Profiling support
1116#
1117# CONFIG_PROFILING is not set
1118
1119#
1120# Kernel hacking
1121#
1122# CONFIG_PRINTK_TIME is not set
1123# CONFIG_MAGIC_SYSRQ is not set
1124CONFIG_DEBUG_KERNEL=y
1125CONFIG_LOG_BUF_SHIFT=14
1126CONFIG_DETECT_SOFTLOCKUP=y
1127# CONFIG_SCHEDSTATS is not set
1128# CONFIG_DEBUG_SLAB is not set
1129CONFIG_DEBUG_MUTEXES=y
1130# CONFIG_DEBUG_SPINLOCK is not set
1131# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1132# CONFIG_DEBUG_KOBJECT is not set
1133CONFIG_DEBUG_BUGVERBOSE=y
1134# CONFIG_DEBUG_INFO is not set
1135# CONFIG_DEBUG_FS is not set
1136# CONFIG_DEBUG_VM is not set
1137CONFIG_FRAME_POINTER=y
1138# CONFIG_UNWIND_INFO is not set
1139CONFIG_FORCED_INLINING=y
1140# CONFIG_RCU_TORTURE_TEST is not set
1141CONFIG_DEBUG_USER=y
1142# CONFIG_DEBUG_WAITQ is not set
1143# CONFIG_DEBUG_ERRORS is not set
1144# CONFIG_DEBUG_LL is not set
1145
1146#
1147# Security options
1148#
1149# CONFIG_KEYS is not set
1150# CONFIG_SECURITY is not set
1151
1152#
1153# Cryptographic options
1154#
1155# CONFIG_CRYPTO is not set
1156
1157#
1158# Hardware crypto devices
1159#
1160
1161#
1162# Library routines
1163#
1164CONFIG_CRC_CCITT=y
1165# CONFIG_CRC16 is not set
1166CONFIG_CRC32=y
1167# CONFIG_LIBCRC32C is not set
1168CONFIG_ZLIB_INFLATE=y
1169CONFIG_ZLIB_DEFLATE=y
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/mach-types b/openembedded/packages/linux/linux-cmx270-2.6.17/mach-types
new file mode 100644
index 0000000000..2354f822f1
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270-2.6.17/mach-types
@@ -0,0 +1,1112 @@
1# Database of machine macros and numbers
2#
3# This file is linux/arch/arm/tools/mach-types
4#
5# Up to date versions of this file can be obtained from:
6#
7# http://www.arm.linux.org.uk/developer/machines/?action=download
8#
9# Please do not send patches to this file; it is automatically generated!
10# To add an entry into this database, please see Documentation/arm/README,
11# or visit:
12#
13# http://www.arm.linux.org.uk/developer/machines/?action=new
14#
15# Last update: Tue Jul 18 14:35:04 2006
16#
17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
18#
19ebsa110 ARCH_EBSA110 EBSA110 0
20riscpc ARCH_RPC RISCPC 1
21nexuspci ARCH_NEXUSPCI NEXUSPCI 3
22ebsa285 ARCH_EBSA285 EBSA285 4
23netwinder ARCH_NETWINDER NETWINDER 5
24cats ARCH_CATS CATS 6
25tbox ARCH_TBOX TBOX 7
26co285 ARCH_CO285 CO285 8
27clps7110 ARCH_CLPS7110 CLPS7110 9
28archimedes ARCH_ARC ARCHIMEDES 10
29a5k ARCH_A5K A5K 11
30etoile ARCH_ETOILE ETOILE 12
31lacie_nas ARCH_LACIE_NAS LACIE_NAS 13
32clps7500 ARCH_CLPS7500 CLPS7500 14
33shark ARCH_SHARK SHARK 15
34brutus SA1100_BRUTUS BRUTUS 16
35personal_server ARCH_PERSONAL_SERVER PERSONAL_SERVER 17
36itsy SA1100_ITSY ITSY 18
37l7200 ARCH_L7200 L7200 19
38pleb SA1100_PLEB PLEB 20
39integrator ARCH_INTEGRATOR INTEGRATOR 21
40h3600 SA1100_H3600 H3600 22
41ixp1200 ARCH_IXP1200 IXP1200 23
42p720t ARCH_P720T P720T 24
43assabet SA1100_ASSABET ASSABET 25
44victor SA1100_VICTOR VICTOR 26
45lart SA1100_LART LART 27
46ranger SA1100_RANGER RANGER 28
47graphicsclient SA1100_GRAPHICSCLIENT GRAPHICSCLIENT 29
48xp860 SA1100_XP860 XP860 30
49cerf SA1100_CERF CERF 31
50nanoengine SA1100_NANOENGINE NANOENGINE 32
51fpic SA1100_FPIC FPIC 33
52extenex1 SA1100_EXTENEX1 EXTENEX1 34
53sherman SA1100_SHERMAN SHERMAN 35
54accelent_sa SA1100_ACCELENT ACCELENT_SA 36
55accelent_l7200 ARCH_L7200_ACCELENT ACCELENT_L7200 37
56netport SA1100_NETPORT NETPORT 38
57pangolin SA1100_PANGOLIN PANGOLIN 39
58yopy SA1100_YOPY YOPY 40
59coolidge SA1100_COOLIDGE COOLIDGE 41
60huw_webpanel SA1100_HUW_WEBPANEL HUW_WEBPANEL 42
61spotme ARCH_SPOTME SPOTME 43
62freebird ARCH_FREEBIRD FREEBIRD 44
63ti925 ARCH_TI925 TI925 45
64riscstation ARCH_RISCSTATION RISCSTATION 46
65cavy SA1100_CAVY CAVY 47
66jornada720 SA1100_JORNADA720 JORNADA720 48
67omnimeter SA1100_OMNIMETER OMNIMETER 49
68edb7211 ARCH_EDB7211 EDB7211 50
69citygo SA1100_CITYGO CITYGO 51
70pfs168 SA1100_PFS168 PFS168 52
71spot SA1100_SPOT SPOT 53
72flexanet SA1100_FLEXANET FLEXANET 54
73webpal ARCH_WEBPAL WEBPAL 55
74linpda SA1100_LINPDA LINPDA 56
75anakin ARCH_ANAKIN ANAKIN 57
76mvi SA1100_MVI MVI 58
77jupiter SA1100_JUPITER JUPITER 59
78psionw ARCH_PSIONW PSIONW 60
79aln SA1100_ALN ALN 61
80epxa ARCH_CAMELOT CAMELOT 62
81gds2200 SA1100_GDS2200 GDS2200 63
82psion_series7 SA1100_PSION_SERIES7 PSION_SERIES7 64
83xfile SA1100_XFILE XFILE 65
84accelent_ep9312 ARCH_ACCELENT_EP9312 ACCELENT_EP9312 66
85ic200 ARCH_IC200 IC200 67
86creditlart SA1100_CREDITLART CREDITLART 68
87htm SA1100_HTM HTM 69
88iq80310 ARCH_IQ80310 IQ80310 70
89freebot SA1100_FREEBOT FREEBOT 71
90entel ARCH_ENTEL ENTEL 72
91enp3510 ARCH_ENP3510 ENP3510 73
92trizeps SA1100_TRIZEPS TRIZEPS 74
93nesa SA1100_NESA NESA 75
94venus ARCH_VENUS VENUS 76
95tardis ARCH_TARDIS TARDIS 77
96mercury ARCH_MERCURY MERCURY 78
97empeg SA1100_EMPEG EMPEG 79
98adi_evb ARCH_I80200FCC I80200FCC 80
99itt_cpb SA1100_ITT_CPB ITT_CPB 81
100svc SA1100_SVC SVC 82
101alpha2 SA1100_ALPHA2 ALPHA2 84
102alpha1 SA1100_ALPHA1 ALPHA1 85
103netarm ARCH_NETARM NETARM 86
104simpad SA1100_SIMPAD SIMPAD 87
105pda1 ARCH_PDA1 PDA1 88
106lubbock ARCH_LUBBOCK LUBBOCK 89
107aniko ARCH_ANIKO ANIKO 90
108clep7212 ARCH_CLEP7212 CLEP7212 91
109cs89712 ARCH_CS89712 CS89712 92
110weararm SA1100_WEARARM WEARARM 93
111possio_px SA1100_POSSIO_PX POSSIO_PX 94
112sidearm SA1100_SIDEARM SIDEARM 95
113stork SA1100_STORK STORK 96
114shannon SA1100_SHANNON SHANNON 97
115ace ARCH_ACE ACE 98
116ballyarm SA1100_BALLYARM BALLYARM 99
117simputer SA1100_SIMPUTER SIMPUTER 100
118nexterm SA1100_NEXTERM NEXTERM 101
119sa1100_elf SA1100_SA1100_ELF SA1100_ELF 102
120gator SA1100_GATOR GATOR 103
121granite ARCH_GRANITE GRANITE 104
122consus SA1100_CONSUS CONSUS 105
123aaed2000 ARCH_AAED2000 AAED2000 106
124cdb89712 ARCH_CDB89712 CDB89712 107
125graphicsmaster SA1100_GRAPHICSMASTER GRAPHICSMASTER 108
126adsbitsy SA1100_ADSBITSY ADSBITSY 109
127pxa_idp ARCH_PXA_IDP PXA_IDP 110
128plce ARCH_PLCE PLCE 111
129pt_system3 SA1100_PT_SYSTEM3 PT_SYSTEM3 112
130murphy ARCH_MEDALB MEDALB 113
131eagle ARCH_EAGLE EAGLE 114
132dsc21 ARCH_DSC21 DSC21 115
133dsc24 ARCH_DSC24 DSC24 116
134ti5472 ARCH_TI5472 TI5472 117
135autcpu12 ARCH_AUTCPU12 AUTCPU12 118
136uengine ARCH_UENGINE UENGINE 119
137bluestem SA1100_BLUESTEM BLUESTEM 120
138xingu8 ARCH_XINGU8 XINGU8 121
139bushstb ARCH_BUSHSTB BUSHSTB 122
140epsilon1 SA1100_EPSILON1 EPSILON1 123
141balloon SA1100_BALLOON BALLOON 124
142puppy ARCH_PUPPY PUPPY 125
143elroy SA1100_ELROY ELROY 126
144gms720 ARCH_GMS720 GMS720 127
145s24x ARCH_S24X S24X 128
146jtel_clep7312 ARCH_JTEL_CLEP7312 JTEL_CLEP7312 129
147cx821xx ARCH_CX821XX CX821XX 130
148edb7312 ARCH_EDB7312 EDB7312 131
149bsa1110 SA1100_BSA1110 BSA1110 132
150powerpin ARCH_POWERPIN POWERPIN 133
151openarm ARCH_OPENARM OPENARM 134
152whitechapel SA1100_WHITECHAPEL WHITECHAPEL 135
153h3100 SA1100_H3100 H3100 136
154h3800 SA1100_H3800 H3800 137
155blue_v1 ARCH_BLUE_V1 BLUE_V1 138
156pxa_cerf ARCH_PXA_CERF PXA_CERF 139
157arm7tevb ARCH_ARM7TEVB ARM7TEVB 140
158d7400 SA1100_D7400 D7400 141
159piranha ARCH_PIRANHA PIRANHA 142
160sbcamelot SA1100_SBCAMELOT SBCAMELOT 143
161kings SA1100_KINGS KINGS 144
162smdk2400 ARCH_SMDK2400 SMDK2400 145
163collie SA1100_COLLIE COLLIE 146
164idr ARCH_IDR IDR 147
165badge4 SA1100_BADGE4 BADGE4 148
166webnet ARCH_WEBNET WEBNET 149
167d7300 SA1100_D7300 D7300 150
168cep SA1100_CEP CEP 151
169fortunet ARCH_FORTUNET FORTUNET 152
170vc547x ARCH_VC547X VC547X 153
171filewalker SA1100_FILEWALKER FILEWALKER 154
172netgateway SA1100_NETGATEWAY NETGATEWAY 155
173symbol2800 SA1100_SYMBOL2800 SYMBOL2800 156
174suns SA1100_SUNS SUNS 157
175frodo SA1100_FRODO FRODO 158
176ms301 SA1100_MACH_TYTE_MS301 MACH_TYTE_MS301 159
177mx1ads ARCH_MX1ADS MX1ADS 160
178h7201 ARCH_H7201 H7201 161
179h7202 ARCH_H7202 H7202 162
180amico ARCH_AMICO AMICO 163
181iam SA1100_IAM IAM 164
182tt530 SA1100_TT530 TT530 165
183sam2400 ARCH_SAM2400 SAM2400 166
184jornada56x SA1100_JORNADA56X JORNADA56X 167
185active SA1100_ACTIVE ACTIVE 168
186iq80321 ARCH_IQ80321 IQ80321 169
187wid SA1100_WID WID 170
188sabinal ARCH_SABINAL SABINAL 171
189ixp425_matacumbe ARCH_IXP425_MATACUMBE IXP425_MATACUMBE 172
190miniprint SA1100_MINIPRINT MINIPRINT 173
191adm510x ARCH_ADM510X ADM510X 174
192svs200 SA1100_SVS200 SVS200 175
193atg_tcu ARCH_ATG_TCU ATG_TCU 176
194jornada820 SA1100_JORNADA820 JORNADA820 177
195s3c44b0 ARCH_S3C44B0 S3C44B0 178
196margis2 ARCH_MARGIS2 MARGIS2 179
197ks8695 ARCH_KS8695 KS8695 180
198brh ARCH_BRH BRH 181
199s3c2410 ARCH_S3C2410 S3C2410 182
200possio_px30 ARCH_POSSIO_PX30 POSSIO_PX30 183
201s3c2800 ARCH_S3C2800 S3C2800 184
202fleetwood SA1100_FLEETWOOD FLEETWOOD 185
203omaha ARCH_OMAHA OMAHA 186
204ta7 ARCH_TA7 TA7 187
205nova SA1100_NOVA NOVA 188
206hmk ARCH_HMK HMK 189
207karo ARCH_KARO KARO 190
208fester SA1100_FESTER FESTER 191
209gpi ARCH_GPI GPI 192
210smdk2410 ARCH_SMDK2410 SMDK2410 193
211i519 ARCH_I519 I519 194
212nexio SA1100_NEXIO NEXIO 195
213bitbox SA1100_BITBOX BITBOX 196
214g200 SA1100_G200 G200 197
215gill SA1100_GILL GILL 198
216pxa_mercury ARCH_PXA_MERCURY PXA_MERCURY 199
217ceiva ARCH_CEIVA CEIVA 200
218fret SA1100_FRET FRET 201
219emailphone SA1100_EMAILPHONE EMAILPHONE 202
220h3900 ARCH_H3900 H3900 203
221pxa1 ARCH_PXA1 PXA1 204
222koan369 SA1100_KOAN369 KOAN369 205
223cogent ARCH_COGENT COGENT 206
224esl_simputer ARCH_ESL_SIMPUTER ESL_SIMPUTER 207
225esl_simputer_clr ARCH_ESL_SIMPUTER_CLR ESL_SIMPUTER_CLR 208
226esl_simputer_bw ARCH_ESL_SIMPUTER_BW ESL_SIMPUTER_BW 209
227hhp_cradle ARCH_HHP_CRADLE HHP_CRADLE 210
228he500 ARCH_HE500 HE500 211
229inhandelf2 SA1100_INHANDELF2 INHANDELF2 212
230inhandftip SA1100_INHANDFTIP INHANDFTIP 213
231dnp1110 SA1100_DNP1110 DNP1110 214
232pnp1110 SA1100_PNP1110 PNP1110 215
233csb226 ARCH_CSB226 CSB226 216
234arnold SA1100_ARNOLD ARNOLD 217
235voiceblue MACH_VOICEBLUE VOICEBLUE 218
236jz8028 ARCH_JZ8028 JZ8028 219
237h5400 ARCH_H5400 H5400 220
238forte SA1100_FORTE FORTE 221
239acam SA1100_ACAM ACAM 222
240abox SA1100_ABOX ABOX 223
241atmel ARCH_ATMEL ATMEL 224
242sitsang ARCH_SITSANG SITSANG 225
243cpu1110lcdnet SA1100_CPU1110LCDNET CPU1110LCDNET 226
244mpl_vcma9 ARCH_MPL_VCMA9 MPL_VCMA9 227
245opus_a1 ARCH_OPUS_A1 OPUS_A1 228
246daytona ARCH_DAYTONA DAYTONA 229
247killbear SA1100_KILLBEAR KILLBEAR 230
248yoho ARCH_YOHO YOHO 231
249jasper ARCH_JASPER JASPER 232
250dsc25 ARCH_DSC25 DSC25 233
251omap_innovator MACH_OMAP_INNOVATOR OMAP_INNOVATOR 234
252mnci ARCH_RAMSES RAMSES 235
253s28x ARCH_S28X S28X 236
254mport3 ARCH_MPORT3 MPORT3 237
255pxa_eagle250 ARCH_PXA_EAGLE250 PXA_EAGLE250 238
256pdb ARCH_PDB PDB 239
257blue_2g SA1100_BLUE_2G BLUE_2G 240
258bluearch SA1100_BLUEARCH BLUEARCH 241
259ixdp2400 ARCH_IXDP2400 IXDP2400 242
260ixdp2800 ARCH_IXDP2800 IXDP2800 243
261explorer SA1100_EXPLORER EXPLORER 244
262ixdp425 ARCH_IXDP425 IXDP425 245
263chimp ARCH_CHIMP CHIMP 246
264stork_nest ARCH_STORK_NEST STORK_NEST 247
265stork_egg ARCH_STORK_EGG STORK_EGG 248
266wismo SA1100_WISMO WISMO 249
267ezlinx ARCH_EZLINX EZLINX 250
268at91rm9200 ARCH_AT91RM9200 AT91RM9200 251
269orion ARCH_ORION ORION 252
270neptune ARCH_NEPTUNE NEPTUNE 253
271hackkit SA1100_HACKKIT HACKKIT 254
272pxa_wins30 ARCH_PXA_WINS30 PXA_WINS30 255
273lavinna SA1100_LAVINNA LAVINNA 256
274pxa_uengine ARCH_PXA_UENGINE PXA_UENGINE 257
275innokom ARCH_INNOKOM INNOKOM 258
276bms ARCH_BMS BMS 259
277ixcdp1100 ARCH_IXCDP1100 IXCDP1100 260
278prpmc1100 ARCH_PRPMC1100 PRPMC1100 261
279at91rm9200dk ARCH_AT91RM9200DK AT91RM9200DK 262
280armstick ARCH_ARMSTICK ARMSTICK 263
281armonie ARCH_ARMONIE ARMONIE 264
282mport1 ARCH_MPORT1 MPORT1 265
283s3c5410 ARCH_S3C5410 S3C5410 266
284zcp320a ARCH_ZCP320A ZCP320A 267
285i_box ARCH_I_BOX I_BOX 268
286stlc1502 ARCH_STLC1502 STLC1502 269
287siren ARCH_SIREN SIREN 270
288greenlake ARCH_GREENLAKE GREENLAKE 271
289argus ARCH_ARGUS ARGUS 272
290combadge SA1100_COMBADGE COMBADGE 273
291rokepxa ARCH_ROKEPXA ROKEPXA 274
292cintegrator ARCH_CINTEGRATOR CINTEGRATOR 275
293guidea07 ARCH_GUIDEA07 GUIDEA07 276
294tat257 ARCH_TAT257 TAT257 277
295igp2425 ARCH_IGP2425 IGP2425 278
296bluegrama ARCH_BLUEGRAMMA BLUEGRAMMA 279
297ipod ARCH_IPOD IPOD 280
298adsbitsyx ARCH_ADSBITSYX ADSBITSYX 281
299trizeps2 ARCH_TRIZEPS2 TRIZEPS2 282
300viper ARCH_VIPER VIPER 283
301adsbitsyplus SA1100_ADSBITSYPLUS ADSBITSYPLUS 284
302adsagc SA1100_ADSAGC ADSAGC 285
303stp7312 ARCH_STP7312 STP7312 286
304nx_phnx MACH_NX_PHNX NX_PHNX 287
305wep_ep250 ARCH_WEP_EP250 WEP_EP250 288
306inhandelf3 ARCH_INHANDELF3 INHANDELF3 289
307adi_coyote ARCH_ADI_COYOTE ADI_COYOTE 290
308iyonix ARCH_IYONIX IYONIX 291
309damicam1 ARCH_DAMICAM_SA1110 DAMICAM_SA1110 292
310meg03 ARCH_MEG03 MEG03 293
311pxa_whitechapel ARCH_PXA_WHITECHAPEL PXA_WHITECHAPEL 294
312nwsc ARCH_NWSC NWSC 295
313nwlarm ARCH_NWLARM NWLARM 296
314ixp425_mguard ARCH_IXP425_MGUARD IXP425_MGUARD 297
315pxa_netdcu4 ARCH_PXA_NETDCU4 PXA_NETDCU4 298
316ixdp2401 ARCH_IXDP2401 IXDP2401 299
317ixdp2801 ARCH_IXDP2801 IXDP2801 300
318zodiac ARCH_ZODIAC ZODIAC 301
319armmodul ARCH_ARMMODUL ARMMODUL 302
320ketop SA1100_KETOP KETOP 303
321av7200 ARCH_AV7200 AV7200 304
322arch_ti925 ARCH_ARCH_TI925 ARCH_TI925 305
323acq200 ARCH_ACQ200 ACQ200 306
324pt_dafit SA1100_PT_DAFIT PT_DAFIT 307
325ihba ARCH_IHBA IHBA 308
326quinque ARCH_QUINQUE QUINQUE 309
327nimbraone ARCH_NIMBRAONE NIMBRAONE 310
328nimbra29x ARCH_NIMBRA29X NIMBRA29X 311
329nimbra210 ARCH_NIMBRA210 NIMBRA210 312
330hhp_d95xx ARCH_HHP_D95XX HHP_D95XX 313
331labarm ARCH_LABARM LABARM 314
332m825xx ARCH_M825XX M825XX 315
333m7100 SA1100_M7100 M7100 316
334nipc2 ARCH_NIPC2 NIPC2 317
335fu7202 ARCH_FU7202 FU7202 318
336adsagx ARCH_ADSAGX ADSAGX 319
337pxa_pooh ARCH_PXA_POOH PXA_POOH 320
338bandon ARCH_BANDON BANDON 321
339pcm7210 ARCH_PCM7210 PCM7210 322
340nms9200 ARCH_NMS9200 NMS9200 323
341logodl ARCH_LOGODL LOGODL 324
342m7140 SA1100_M7140 M7140 325
343korebot ARCH_KOREBOT KOREBOT 326
344iq31244 ARCH_IQ31244 IQ31244 327
345koan393 SA1100_KOAN393 KOAN393 328
346inhandftip3 ARCH_INHANDFTIP3 INHANDFTIP3 329
347gonzo ARCH_GONZO GONZO 330
348bast ARCH_BAST BAST 331
349scanpass ARCH_SCANPASS SCANPASS 332
350ep7312_pooh ARCH_EP7312_POOH EP7312_POOH 333
351ta7s ARCH_TA7S TA7S 334
352ta7v ARCH_TA7V TA7V 335
353icarus SA1100_ICARUS ICARUS 336
354h1900 ARCH_H1900 H1900 337
355gemini SA1100_GEMINI GEMINI 338
356axim ARCH_AXIM AXIM 339
357audiotron ARCH_AUDIOTRON AUDIOTRON 340
358h2200 ARCH_H2200 H2200 341
359loox600 ARCH_LOOX600 LOOX600 342
360niop ARCH_NIOP NIOP 343
361dm310 ARCH_DM310 DM310 344
362seedpxa_c2 ARCH_SEEDPXA_C2 SEEDPXA_C2 345
363ixp4xx_mguardpci ARCH_IXP4XX_MGUARD_PCI IXP4XX_MGUARD_PCI 346
364h1940 ARCH_H1940 H1940 347
365scorpio ARCH_SCORPIO SCORPIO 348
366viva ARCH_VIVA VIVA 349
367pxa_xcard ARCH_PXA_XCARD PXA_XCARD 350
368csb335 ARCH_CSB335 CSB335 351
369ixrd425 ARCH_IXRD425 IXRD425 352
370iq80315 ARCH_IQ80315 IQ80315 353
371nmp7312 ARCH_NMP7312 NMP7312 354
372cx861xx ARCH_CX861XX CX861XX 355
373enp2611 ARCH_ENP2611 ENP2611 356
374xda SA1100_XDA XDA 357
375csir_ims ARCH_CSIR_IMS CSIR_IMS 358
376ixp421_dnaeeth ARCH_IXP421_DNAEETH IXP421_DNAEETH 359
377pocketserv9200 ARCH_POCKETSERV9200 POCKETSERV9200 360
378toto ARCH_TOTO TOTO 361
379s3c2440 ARCH_S3C2440 S3C2440 362
380ks8695p ARCH_KS8695P KS8695P 363
381se4000 ARCH_SE4000 SE4000 364
382quadriceps ARCH_QUADRICEPS QUADRICEPS 365
383bronco ARCH_BRONCO BRONCO 366
384esl_wireless_tab ARCH_ESL_WIRELESS_TABLETESL_WIRELESS_TABLET 367
385esl_sofcomp ARCH_ESL_SOFCOMP ESL_SOFCOMP 368
386s5c7375 ARCH_S5C7375 S5C7375 369
387spearhead ARCH_SPEARHEAD SPEARHEAD 370
388pantera ARCH_PANTERA PANTERA 371
389prayoglite ARCH_PRAYOGLITE PRAYOGLITE 372
390gumstix ARCH_GUMSTIK GUMSTIK 373
391rcube ARCH_RCUBE RCUBE 374
392rea_olv ARCH_REA_OLV REA_OLV 375
393pxa_iphone ARCH_PXA_IPHONE PXA_IPHONE 376
394s3c3410 ARCH_S3C3410 S3C3410 377
395espd_4510b ARCH_ESPD_4510B ESPD_4510B 378
396mp1x ARCH_MP1X MP1X 379
397at91rm9200tb ARCH_AT91RM9200TB AT91RM9200TB 380
398adsvgx ARCH_ADSVGX ADSVGX 381
399omap_h2 MACH_OMAP_H2 OMAP_H2 382
400pelee ARCH_PELEE PELEE 383
401e740 MACH_E740 E740 384
402iq80331 ARCH_IQ80331 IQ80331 385
403versatile_pb ARCH_VERSATILE_PB VERSATILE_PB 387
404kev7a400 MACH_KEV7A400 KEV7A400 388
405lpd7a400 MACH_LPD7A400 LPD7A400 389
406lpd7a404 MACH_LPD7A404 LPD7A404 390
407fujitsu_camelot ARCH_FUJITSU_CAMELOT FUJITSU_CAMELOT 391
408janus2m ARCH_JANUS2M JANUS2M 392
409embtf MACH_EMBTF EMBTF 393
410hpm MACH_HPM HPM 394
411smdk2410tk MACH_SMDK2410TK SMDK2410TK 395
412smdk2410aj MACH_SMDK2410AJ SMDK2410AJ 396
413streetracer MACH_STREETRACER STREETRACER 397
414eframe MACH_EFRAME EFRAME 398
415csb337 MACH_CSB337 CSB337 399
416pxa_lark MACH_PXA_LARK PXA_LARK 400
417pxa_pnp2110 MACH_PNP2110 PNP2110 401
418tcc72x MACH_TCC72X TCC72X 402
419altair MACH_ALTAIR ALTAIR 403
420kc3 MACH_KC3 KC3 404
421sinteftd MACH_SINTEFTD SINTEFTD 405
422mainstone MACH_MAINSTONE MAINSTONE 406
423aday4x MACH_ADAY4X ADAY4X 407
424lite300 MACH_LITE300 LITE300 408
425s5c7376 MACH_S5C7376 S5C7376 409
426mt02 MACH_MT02 MT02 410
427mport3s MACH_MPORT3S MPORT3S 411
428ra_alpha MACH_RA_ALPHA RA_ALPHA 412
429xcep MACH_XCEP XCEP 413
430arcom_vulcan MACH_ARCOM_VULCAN ARCOM_VULCAN 414
431stargate MACH_STARGATE STARGATE 415
432armadilloj MACH_ARMADILLOJ ARMADILLOJ 416
433elroy_jack MACH_ELROY_JACK ELROY_JACK 417
434backend MACH_BACKEND BACKEND 418
435s5linbox MACH_S5LINBOX S5LINBOX 419
436nomadik MACH_NOMADIK NOMADIK 420
437ia_cpu_9200 MACH_IA_CPU_9200 IA_CPU_9200 421
438at91_bja1 MACH_AT91_BJA1 AT91_BJA1 422
439corgi MACH_CORGI CORGI 423
440poodle MACH_POODLE POODLE 424
441ten MACH_TEN TEN 425
442roverp5p MACH_ROVERP5P ROVERP5P 426
443sc2700 MACH_SC2700 SC2700 427
444ex_eagle MACH_EX_EAGLE EX_EAGLE 428
445nx_pxa12 MACH_NX_PXA12 NX_PXA12 429
446nx_pxa5 MACH_NX_PXA5 NX_PXA5 430
447blackboard2 MACH_BLACKBOARD2 BLACKBOARD2 431
448i819 MACH_I819 I819 432
449ixmb995e MACH_IXMB995E IXMB995E 433
450skyrider MACH_SKYRIDER SKYRIDER 434
451skyhawk MACH_SKYHAWK SKYHAWK 435
452enterprise MACH_ENTERPRISE ENTERPRISE 436
453dep2410 MACH_DEP2410 DEP2410 437
454armcore MACH_ARMCORE ARMCORE 438
455hobbit MACH_HOBBIT HOBBIT 439
456h7210 MACH_H7210 H7210 440
457pxa_netdcu5 MACH_PXA_NETDCU5 PXA_NETDCU5 441
458acc MACH_ACC ACC 442
459esl_sarva MACH_ESL_SARVA ESL_SARVA 443
460xm250 MACH_XM250 XM250 444
461t6tc1xb MACH_T6TC1XB T6TC1XB 445
462ess710 MACH_ESS710 ESS710 446
463mx31ads MACH_MX31ADS MX31ADS 447
464himalaya MACH_HIMALAYA HIMALAYA 448
465bolfenk MACH_BOLFENK BOLFENK 449
466at91rm9200kr MACH_AT91RM9200KR AT91RM9200KR 450
467edb9312 MACH_EDB9312 EDB9312 451
468omap_generic MACH_OMAP_GENERIC OMAP_GENERIC 452
469aximx3 MACH_AXIMX3 AXIMX3 453
470eb67xdip MACH_EB67XDIP EB67XDIP 454
471webtxs MACH_WEBTXS WEBTXS 455
472hawk MACH_HAWK HAWK 456
473ccat91sbc001 MACH_CCAT91SBC001 CCAT91SBC001 457
474expresso MACH_EXPRESSO EXPRESSO 458
475h4000 MACH_H4000 H4000 459
476dino MACH_DINO DINO 460
477ml675k MACH_ML675K ML675K 461
478edb9301 MACH_EDB9301 EDB9301 462
479edb9315 MACH_EDB9315 EDB9315 463
480reciva_tt MACH_RECIVA_TT RECIVA_TT 464
481cstcb01 MACH_CSTCB01 CSTCB01 465
482cstcb1 MACH_CSTCB1 CSTCB1 466
483shadwell MACH_SHADWELL SHADWELL 467
484goepel263 MACH_GOEPEL263 GOEPEL263 468
485acq100 MACH_ACQ100 ACQ100 469
486mx1fs2 MACH_MX1FS2 MX1FS2 470
487hiptop_g1 MACH_HIPTOP_G1 HIPTOP_G1 471
488sparky MACH_SPARKY SPARKY 472
489ns9750 MACH_NS9750 NS9750 473
490phoenix MACH_PHOENIX PHOENIX 474
491vr1000 MACH_VR1000 VR1000 475
492deisterpxa MACH_DEISTERPXA DEISTERPXA 476
493bcm1160 MACH_BCM1160 BCM1160 477
494pcm022 MACH_PCM022 PCM022 478
495adsgcx MACH_ADSGCX ADSGCX 479
496dreadnaught MACH_DREADNAUGHT DREADNAUGHT 480
497dm320 MACH_DM320 DM320 481
498markov MACH_MARKOV MARKOV 482
499cos7a400 MACH_COS7A400 COS7A400 483
500milano MACH_MILANO MILANO 484
501ue9328 MACH_UE9328 UE9328 485
502uex255 MACH_UEX255 UEX255 486
503ue2410 MACH_UE2410 UE2410 487
504a620 MACH_A620 A620 488
505ocelot MACH_OCELOT OCELOT 489
506cheetah MACH_CHEETAH CHEETAH 490
507omap_perseus2 MACH_OMAP_PERSEUS2 OMAP_PERSEUS2 491
508zvue MACH_ZVUE ZVUE 492
509roverp1 MACH_ROVERP1 ROVERP1 493
510asidial2 MACH_ASIDIAL2 ASIDIAL2 494
511s3c24a0 MACH_S3C24A0 S3C24A0 495
512e800 MACH_E800 E800 496
513e750 MACH_E750 E750 497
514s3c5500 MACH_S3C5500 S3C5500 498
515smdk5500 MACH_SMDK5500 SMDK5500 499
516signalsync MACH_SIGNALSYNC SIGNALSYNC 500
517nbc MACH_NBC NBC 501
518kodiak MACH_KODIAK KODIAK 502
519netbookpro MACH_NETBOOKPRO NETBOOKPRO 503
520hw90200 MACH_HW90200 HW90200 504
521condor MACH_CONDOR CONDOR 505
522cup MACH_CUP CUP 506
523kite MACH_KITE KITE 507
524scb9328 MACH_SCB9328 SCB9328 508
525omap_h3 MACH_OMAP_H3 OMAP_H3 509
526omap_h4 MACH_OMAP_H4 OMAP_H4 510
527n10 MACH_N10 N10 511
528montejade MACH_MONTAJADE MONTAJADE 512
529sg560 MACH_SG560 SG560 513
530dp1000 MACH_DP1000 DP1000 514
531omap_osk MACH_OMAP_OSK OMAP_OSK 515
532rg100v3 MACH_RG100V3 RG100V3 516
533mx2ads MACH_MX2ADS MX2ADS 517
534pxa_kilo MACH_PXA_KILO PXA_KILO 518
535ixp4xx_eagle MACH_IXP4XX_EAGLE IXP4XX_EAGLE 519
536tosa MACH_TOSA TOSA 520
537mb2520f MACH_MB2520F MB2520F 521
538emc1000 MACH_EMC1000 EMC1000 522
539tidsc25 MACH_TIDSC25 TIDSC25 523
540akcpmxl MACH_AKCPMXL AKCPMXL 524
541av3xx MACH_AV3XX AV3XX 525
542avila MACH_AVILA AVILA 526
543pxa_mpm10 MACH_PXA_MPM10 PXA_MPM10 527
544pxa_kyanite MACH_PXA_KYANITE PXA_KYANITE 528
545sgold MACH_SGOLD SGOLD 529
546oscar MACH_OSCAR OSCAR 530
547epxa4usb2 MACH_EPXA4USB2 EPXA4USB2 531
548xsengine MACH_XSENGINE XSENGINE 532
549ip600 MACH_IP600 IP600 533
550mcan2 MACH_MCAN2 MCAN2 534
551ddi_blueridge MACH_DDI_BLUERIDGE DDI_BLUERIDGE 535
552skyminder MACH_SKYMINDER SKYMINDER 536
553lpd79520 MACH_LPD79520 LPD79520 537
554edb9302 MACH_EDB9302 EDB9302 538
555hw90340 MACH_HW90340 HW90340 539
556cip_box MACH_CIP_BOX CIP_BOX 540
557ivpn MACH_IVPN IVPN 541
558rsoc2 MACH_RSOC2 RSOC2 542
559husky MACH_HUSKY HUSKY 543
560boxer MACH_BOXER BOXER 544
561shepherd MACH_SHEPHERD SHEPHERD 545
562aml42800aa MACH_AML42800AA AML42800AA 546
563ml674001 MACH_MACH_TYPE_ML674001 MACH_TYPE_ML674001 547
564lpc2294 MACH_LPC2294 LPC2294 548
565switchgrass MACH_SWITCHGRASS SWITCHGRASS 549
566ens_cmu MACH_ENS_CMU ENS_CMU 550
567mm6_sdb MACH_MM6_SDB MM6_SDB 551
568saturn MACH_SATURN SATURN 552
569i30030evb MACH_I30030EVB I30030EVB 553
570mxc27530evb MACH_MXC27530EVB MXC27530EVB 554
571smdk2800 MACH_SMDK2800 SMDK2800 555
572mtwilson MACH_MTWILSON MTWILSON 556
573ziti MACH_ZITI ZITI 557
574grandfather MACH_GRANDFATHER GRANDFATHER 558
575tengine MACH_TENGINE TENGINE 559
576s3c2460 MACH_S3C2460 S3C2460 560
577pdm MACH_PDM PDM 561
578h4700 MACH_H4700 H4700 562
579h6300 MACH_H6300 H6300 563
580rz1700 MACH_RZ1700 RZ1700 564
581a716 MACH_A716 A716 565
582estk2440a MACH_ESTK2440A ESTK2440A 566
583atwixp425 MACH_ATWIXP425 ATWIXP425 567
584csb336 MACH_CSB336 CSB336 568
585rirm2 MACH_RIRM2 RIRM2 569
586cx23518 MACH_CX23518 CX23518 570
587cx2351x MACH_CX2351X CX2351X 571
588computime MACH_COMPUTIME COMPUTIME 572
589izarus MACH_IZARUS IZARUS 573
590pxa_rts MACH_RTS RTS 574
591se5100 MACH_SE5100 SE5100 575
592s3c2510 MACH_S3C2510 S3C2510 576
593csb437tl MACH_CSB437TL CSB437TL 577
594slauson MACH_SLAUSON SLAUSON 578
595pearlriver MACH_PEARLRIVER PEARLRIVER 579
596tdc_p210 MACH_TDC_P210 TDC_P210 580
597sg580 MACH_SG580 SG580 581
598wrsbcarm7 MACH_WRSBCARM7 WRSBCARM7 582
599ipd MACH_IPD IPD 583
600pxa_dnp2110 MACH_PXA_DNP2110 PXA_DNP2110 584
601xaeniax MACH_XAENIAX XAENIAX 585
602somn4250 MACH_SOMN4250 SOMN4250 586
603pleb2 MACH_PLEB2 PLEB2 587
604cornwallis MACH_CORNWALLIS CORNWALLIS 588
605gurney_drv MACH_GURNEY_DRV GURNEY_DRV 589
606chaffee MACH_CHAFFEE CHAFFEE 590
607rms101 MACH_RMS101 RMS101 591
608rx3715 MACH_RX3715 RX3715 592
609swift MACH_SWIFT SWIFT 593
610roverp7 MACH_ROVERP7 ROVERP7 594
611pr818s MACH_PR818S PR818S 595
612trxpro MACH_TRXPRO TRXPRO 596
613nslu2 MACH_NSLU2 NSLU2 597
614e400 MACH_E400 E400 598
615trab MACH_TRAB TRAB 599
616cmc_pu2 MACH_CMC_PU2 CMC_PU2 600
617fulcrum MACH_FULCRUM FULCRUM 601
618netgate42x MACH_NETGATE42X NETGATE42X 602
619str710 MACH_STR710 STR710 603
620ixdpg425 MACH_IXDPG425 IXDPG425 604
621tomtomgo MACH_TOMTOMGO TOMTOMGO 605
622versatile_ab MACH_VERSATILE_AB VERSATILE_AB 606
623edb9307 MACH_EDB9307 EDB9307 607
624sg565 MACH_SG565 SG565 608
625lpd79524 MACH_LPD79524 LPD79524 609
626lpd79525 MACH_LPD79525 LPD79525 610
627rms100 MACH_RMS100 RMS100 611
628kb9200 MACH_KB9200 KB9200 612
629sx1 MACH_SX1 SX1 613
630hms39c7092 MACH_HMS39C7092 HMS39C7092 614
631armadillo MACH_ARMADILLO ARMADILLO 615
632ipcu MACH_IPCU IPCU 616
633loox720 MACH_LOOX720 LOOX720 617
634ixdp465 MACH_IXDP465 IXDP465 618
635ixdp2351 MACH_IXDP2351 IXDP2351 619
636adsvix MACH_ADSVIX ADSVIX 620
637dm270 MACH_DM270 DM270 621
638socltplus MACH_SOCLTPLUS SOCLTPLUS 622
639ecia MACH_ECIA ECIA 623
640cm4008 MACH_CM4008 CM4008 624
641p2001 MACH_P2001 P2001 625
642twister MACH_TWISTER TWISTER 626
643mudshark MACH_MUDSHARK MUDSHARK 627
644hb2 MACH_HB2 HB2 628
645iq80332 MACH_IQ80332 IQ80332 629
646sendt MACH_SENDT SENDT 630
647mx2jazz MACH_MX2JAZZ MX2JAZZ 631
648multiio MACH_MULTIIO MULTIIO 632
649hrdisplay MACH_HRDISPLAY HRDISPLAY 633
650mxc27530ads MACH_MXC27530ADS MXC27530ADS 634
651trizeps3 MACH_TRIZEPS3 TRIZEPS3 635
652zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636
653zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637
654zefeerdzg MACH_ZEFEERDZG ZEFEERDZG 638
655zefeerdzn MACH_ZEFEERDZN ZEFEERDZN 639
656zefeerdzq MACH_ZEFEERDZQ ZEFEERDZQ 640
657gtwx5715 MACH_GTWX5715 GTWX5715 641
658astro_jack MACH_ASTRO_JACK ASTRO_JACK 643
659tip03 MACH_TIP03 TIP03 644
660a9200ec MACH_A9200EC A9200EC 645
661pnx0105 MACH_PNX0105 PNX0105 646
662adcpoecpu MACH_ADCPOECPU ADCPOECPU 647
663csb637 MACH_CSB637 CSB637 648
664ml69q6203 MACH_ML69Q6203 ML69Q6203 649
665mb9200 MACH_MB9200 MB9200 650
666kulun MACH_KULUN KULUN 651
667snapper MACH_SNAPPER SNAPPER 652
668optima MACH_OPTIMA OPTIMA 653
669dlhsbc MACH_DLHSBC DLHSBC 654
670x30 MACH_X30 X30 655
671n30 MACH_N30 N30 656
672manga_ks8695 MACH_MANGA_KS8695 MANGA_KS8695 657
673ajax MACH_AJAX AJAX 658
674nec_mp900 MACH_NEC_MP900 NEC_MP900 659
675vvtk1000 MACH_VVTK1000 VVTK1000 661
676kafa MACH_KAFA KAFA 662
677vvtk3000 MACH_VVTK3000 VVTK3000 663
678pimx1 MACH_PIMX1 PIMX1 664
679ollie MACH_OLLIE OLLIE 665
680skymax MACH_SKYMAX SKYMAX 666
681jazz MACH_JAZZ JAZZ 667
682tel_t3 MACH_TEL_T3 TEL_T3 668
683aisino_fcr255 MACH_AISINO_FCR255 AISINO_FCR255 669
684btweb MACH_BTWEB BTWEB 670
685dbg_lh79520 MACH_DBG_LH79520 DBG_LH79520 671
686cm41xx MACH_CM41XX CM41XX 672
687ts72xx MACH_TS72XX TS72XX 673
688nggpxa MACH_NGGPXA NGGPXA 674
689csb535 MACH_CSB535 CSB535 675
690csb536 MACH_CSB536 CSB536 676
691pxa_trakpod MACH_PXA_TRAKPOD PXA_TRAKPOD 677
692praxis MACH_PRAXIS PRAXIS 678
693lh75411 MACH_LH75411 LH75411 679
694otom MACH_OTOM OTOM 680
695nexcoder_2440 MACH_NEXCODER_2440 NEXCODER_2440 681
696loox410 MACH_LOOX410 LOOX410 682
697westlake MACH_WESTLAKE WESTLAKE 683
698nsb MACH_NSB NSB 684
699esl_sarva_stn MACH_ESL_SARVA_STN ESL_SARVA_STN 685
700esl_sarva_tft MACH_ESL_SARVA_TFT ESL_SARVA_TFT 686
701esl_sarva_iad MACH_ESL_SARVA_IAD ESL_SARVA_IAD 687
702esl_sarva_acc MACH_ESL_SARVA_ACC ESL_SARVA_ACC 688
703typhoon MACH_TYPHOON TYPHOON 689
704cnav MACH_CNAV CNAV 690
705a730 MACH_A730 A730 691
706netstar MACH_NETSTAR NETSTAR 692
707supercon MACH_PHASEFALE_SUPERCON PHASEFALE_SUPERCON 693
708shiva1100 MACH_SHIVA1100 SHIVA1100 694
709etexsc MACH_ETEXSC ETEXSC 695
710ixdpg465 MACH_IXDPG465 IXDPG465 696
711a9m2410 MACH_A9M2410 A9M2410 697
712a9m2440 MACH_A9M2440 A9M2440 698
713a9m9750 MACH_A9M9750 A9M9750 699
714a9m9360 MACH_A9M9360 A9M9360 700
715unc90 MACH_UNC90 UNC90 701
716eco920 MACH_ECO920 ECO920 702
717satview MACH_SATVIEW SATVIEW 703
718roadrunner MACH_ROADRUNNER ROADRUNNER 704
719at91rm9200ek MACH_AT91RM9200EK AT91RM9200EK 705
720gp32 MACH_GP32 GP32 706
721gem MACH_GEM GEM 707
722i858 MACH_I858 I858 708
723hx2750 MACH_HX2750 HX2750 709
724mxc91131evb MACH_MXC91131EVB MXC91131EVB 710
725p700 MACH_P700 P700 711
726cpe MACH_CPE CPE 712
727spitz MACH_SPITZ SPITZ 713
728nimbra340 MACH_NIMBRA340 NIMBRA340 714
729lpc22xx MACH_LPC22XX LPC22XX 715
730omap_comet3 MACH_COMET3 COMET3 716
731omap_comet4 MACH_COMET4 COMET4 717
732csb625 MACH_CSB625 CSB625 718
733fortunet2 MACH_FORTUNET2 FORTUNET2 719
734s5h2200 MACH_S5H2200 S5H2200 720
735optorm920 MACH_OPTORM920 OPTORM920 721
736adsbitsyxb MACH_ADSBITSYXB ADSBITSYXB 722
737adssphere MACH_ADSSPHERE ADSSPHERE 723
738adsportal MACH_ADSPORTAL ADSPORTAL 724
739ln2410sbc MACH_LN2410SBC LN2410SBC 725
740cb3rufc MACH_CB3RUFC CB3RUFC 726
741mp2usb MACH_MP2USB MP2USB 727
742ntnp425c MACH_NTNP425C NTNP425C 728
743colibri MACH_COLIBRI COLIBRI 729
744pcm7220 MACH_PCM7220 PCM7220 730
745gateway7001 MACH_GATEWAY7001 GATEWAY7001 731
746pcm027 MACH_PCM027 PCM027 732
747cmpxa MACH_CMPXA CMPXA 733
748anubis MACH_ANUBIS ANUBIS 734
749ite8152 MACH_ITE8152 ITE8152 735
750lpc3xxx MACH_LPC3XXX LPC3XXX 736
751puppeteer MACH_PUPPETEER PUPPETEER 737
752vt001 MACH_MACH_VADATECH MACH_VADATECH 738
753e570 MACH_E570 E570 739
754x50 MACH_X50 X50 740
755recon MACH_RECON RECON 741
756xboardgp8 MACH_XBOARDGP8 XBOARDGP8 742
757fpic2 MACH_FPIC2 FPIC2 743
758akita MACH_AKITA AKITA 744
759a81 MACH_A81 A81 745
760svm_sc25x MACH_SVM_SC25X SVM_SC25X 746
761vt020 MACH_VADATECH020 VADATECH020 747
762tli MACH_TLI TLI 748
763edb9315lc MACH_EDB9315LC EDB9315LC 749
764passec MACH_PASSEC PASSEC 750
765ds_tiger MACH_DS_TIGER DS_TIGER 751
766e310 MACH_E310 E310 752
767e330 MACH_E330 E330 753
768rt3000 MACH_RT3000 RT3000 754
769nokia770 MACH_NOKIA770 NOKIA770 755
770pnx0106 MACH_PNX0106 PNX0106 756
771hx21xx MACH_HX21XX HX21XX 757
772faraday MACH_FARADAY FARADAY 758
773sbc9312 MACH_SBC9312 SBC9312 759
774batman MACH_BATMAN BATMAN 760
775jpd201 MACH_JPD201 JPD201 761
776mipsa MACH_MIPSA MIPSA 762
777kacom MACH_KACOM KACOM 763
778swarcocpu MACH_SWARCOCPU SWARCOCPU 764
779swarcodsl MACH_SWARCODSL SWARCODSL 765
780blueangel MACH_BLUEANGEL BLUEANGEL 766
781hairygrama MACH_HAIRYGRAMA HAIRYGRAMA 767
782banff MACH_BANFF BANFF 768
783carmeva MACH_CARMEVA CARMEVA 769
784sam255 MACH_SAM255 SAM255 770
785ppm10 MACH_PPM10 PPM10 771
786edb9315a MACH_EDB9315A EDB9315A 772
787sunset MACH_SUNSET SUNSET 773
788stargate2 MACH_STARGATE2 STARGATE2 774
789intelmote2 MACH_INTELMOTE2 INTELMOTE2 775
790trizeps4 MACH_TRIZEPS4 TRIZEPS4 776
791mainstone2 MACH_MAINSTONE2 MAINSTONE2 777
792ez_ixp42x MACH_EZ_IXP42X EZ_IXP42X 778
793tapwave_zodiac MACH_TAPWAVE_ZODIAC TAPWAVE_ZODIAC 779
794universalmeter MACH_UNIVERSALMETER UNIVERSALMETER 780
795hicoarm9 MACH_HICOARM9 HICOARM9 781
796pnx4008 MACH_PNX4008 PNX4008 782
797kws6000 MACH_KWS6000 KWS6000 783
798portux920t MACH_PORTUX920T PORTUX920T 784
799ez_x5 MACH_EZ_X5 EZ_X5 785
800omap_rudolph MACH_OMAP_RUDOLPH OMAP_RUDOLPH 786
801cpuat91 MACH_CPUAT91 CPUAT91 787
802rea9200 MACH_REA9200 REA9200 788
803acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789
804ixp425 MACH_IXP425 IXP425 790
805i30030ads MACH_I30030ADS I30030ADS 791
806perch MACH_PERCH PERCH 792
807eis05r1 MACH_EIS05R1 EIS05R1 793
808pepperpad MACH_PEPPERPAD PEPPERPAD 794
809sb3010 MACH_SB3010 SB3010 795
810rm9200 MACH_RM9200 RM9200 796
811dma03 MACH_DMA03 DMA03 797
812road_s101 MACH_ROAD_S101 ROAD_S101 798
813iq_nextgen_a MACH_IQ_NEXTGEN_A IQ_NEXTGEN_A 799
814iq_nextgen_b MACH_IQ_NEXTGEN_B IQ_NEXTGEN_B 800
815iq_nextgen_c MACH_IQ_NEXTGEN_C IQ_NEXTGEN_C 801
816iq_nextgen_d MACH_IQ_NEXTGEN_D IQ_NEXTGEN_D 802
817iq_nextgen_e MACH_IQ_NEXTGEN_E IQ_NEXTGEN_E 803
818mallow_at91 MACH_MALLOW_AT91 MALLOW_AT91 804
819cybertracker_i MACH_CYBERTRACKER_I CYBERTRACKER_I 805
820gesbc931x MACH_GESBC931X GESBC931X 806
821centipad MACH_CENTIPAD CENTIPAD 807
822armsoc MACH_ARMSOC ARMSOC 808
823se4200 MACH_SE4200 SE4200 809
824ems197a MACH_EMS197A EMS197A 810
825micro9 MACH_MICRO9 MICRO9 811
826micro9l MACH_MICRO9L MICRO9L 812
827uc5471dsp MACH_UC5471DSP UC5471DSP 813
828sj5471eng MACH_SJ5471ENG SJ5471ENG 814
829none MACH_CMPXA26X CMPXA26X 815
830nc1 MACH_NC NC 816
831omap_palmte MACH_OMAP_PALMTE OMAP_PALMTE 817
832ajax52x MACH_AJAX52X AJAX52X 818
833siriustar MACH_SIRIUSTAR SIRIUSTAR 819
834iodata_hdlg MACH_IODATA_HDLG IODATA_HDLG 820
835at91rm9200utl MACH_AT91RM9200UTL AT91RM9200UTL 821
836biosafe MACH_BIOSAFE BIOSAFE 822
837mp1000 MACH_MP1000 MP1000 823
838parsy MACH_PARSY PARSY 824
839ccxp270 MACH_CCXP CCXP 825
840omap_gsample MACH_OMAP_GSAMPLE OMAP_GSAMPLE 826
841realview_eb MACH_REALVIEW_EB REALVIEW_EB 827
842samoa MACH_SAMOA SAMOA 828
843t3xscale MACH_T3XSCALE T3XSCALE 829
844i878 MACH_I878 I878 830
845borzoi MACH_BORZOI BORZOI 831
846gecko MACH_GECKO GECKO 832
847ds101 MACH_DS101 DS101 833
848omap_palmtt2 MACH_OMAP_PALMTT2 OMAP_PALMTT2 834
849xscale_palmld MACH_XSCALE_PALMLD XSCALE_PALMLD 835
850cc9c MACH_CC9C CC9C 836
851sbc1670 MACH_SBC1670 SBC1670 837
852ixdp28x5 MACH_IXDP28X5 IXDP28X5 838
853omap_palmtt MACH_OMAP_PALMTT OMAP_PALMTT 839
854ml696k MACH_ML696K ML696K 840
855arcom_zeus MACH_ARCOM_ZEUS ARCOM_ZEUS 841
856osiris MACH_OSIRIS OSIRIS 842
857maestro MACH_MAESTRO MAESTRO 843
858tunge2 MACH_TUNGE2 TUNGE2 844
859ixbbm MACH_IXBBM IXBBM 845
860mx27ads MACH_MX27 MX27 846
861ax8004 MACH_AX8004 AX8004 847
862at91sam9261ek MACH_AT91SAM9261EK AT91SAM9261EK 848
863loft MACH_LOFT LOFT 849
864magpie MACH_MAGPIE MAGPIE 850
865mx21ads MACH_MX21 MX21 851
866mb87m3400 MACH_MB87M3400 MB87M3400 852
867mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA 853
868davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP 854
869htcuniversal MACH_HTCUNIVERSAL HTCUNIVERSAL 855
870tpad MACH_TPAD TPAD 856
871roverp3 MACH_ROVERP3 ROVERP3 857
872jornada928 MACH_JORNADA928 JORNADA928 858
873mv88fxx81 MACH_MV88FXX81 MV88FXX81 859
874stmp36xx MACH_STMP36XX STMP36XX 860
875sxni79524 MACH_SXNI79524 SXNI79524 861
876ams_delta MACH_AMS_DELTA AMS_DELTA 862
877uranium MACH_URANIUM URANIUM 863
878ucon MACH_UCON UCON 864
879nas100d MACH_NAS100D NAS100D 865
880l083 MACH_L083_1000 L083_1000 866
881ezx MACH_EZX EZX 867
882pnx5220 MACH_PNX5220 PNX5220 868
883butte MACH_BUTTE BUTTE 869
884srm2 MACH_SRM2 SRM2 870
885dsbr MACH_DSBR DSBR 871
886crystalball MACH_CRYSTALBALL CRYSTALBALL 872
887tinypxa27x MACH_TINYPXA27X TINYPXA27X 873
888herbie MACH_HERBIE HERBIE 874
889magician MACH_MAGICIAN MAGICIAN 875
890cm4002 MACH_CM4002 CM4002 876
891b4 MACH_B4 B4 877
892maui MACH_MAUI MAUI 878
893cybertracker_g MACH_CYBERTRACKER_G CYBERTRACKER_G 879
894nxdkn MACH_NXDKN NXDKN 880
895mio8390 MACH_MIO8390 MIO8390 881
896omi_board MACH_OMI_BOARD OMI_BOARD 882
897mx21civ MACH_MX21CIV MX21CIV 883
898mahi_cdac MACH_MAHI_CDAC MAHI_CDAC 884
899xscale_palmtx MACH_XSCALE_PALMTX XSCALE_PALMTX 885
900s3c2413 MACH_S3C2413 S3C2413 887
901samsys_ep0 MACH_SAMSYS_EP0 SAMSYS_EP0 888
902wg302v1 MACH_WG302V1 WG302V1 889
903wg302v2 MACH_WG302V2 WG302V2 890
904eb42x MACH_EB42X EB42X 891
905iq331es MACH_IQ331ES IQ331ES 892
906cosydsp MACH_COSYDSP COSYDSP 893
907uplat7d_proto MACH_UPLAT7D UPLAT7D 894
908ptdavinci MACH_PTDAVINCI PTDAVINCI 895
909mbus MACH_MBUS MBUS 896
910nadia2vb MACH_NADIA2VB NADIA2VB 897
911r1000 MACH_R1000 R1000 898
912hw90250 MACH_HW90250 HW90250 899
913omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP 900
914davinci_evm MACH_DAVINCI_EVM DAVINCI_EVM 901
915omap_tornado MACH_OMAP_TORNADO OMAP_TORNADO 902
916olocreek MACH_OLOCREEK OLOCREEK 903
917palmz72 MACH_PALMZ72 PALMZ72 904
918nxdb500 MACH_NXDB500 NXDB500 905
919apf9328 MACH_APF9328 APF9328 906
920omap_wipoq MACH_OMAP_WIPOQ OMAP_WIPOQ 907
921omap_twip MACH_OMAP_TWIP OMAP_TWIP 908
922xscale_treo650 MACH_XSCALE_PALMTREO650 XSCALE_PALMTREO650 909
923acumen MACH_ACUMEN ACUMEN 910
924xp100 MACH_XP100 XP100 911
925fs2410 MACH_FS2410 FS2410 912
926pxa270_cerf MACH_PXA270_CERF PXA270_CERF 913
927sq2ftlpalm MACH_SQ2FTLPALM SQ2FTLPALM 914
928bsemserver MACH_BSEMSERVER BSEMSERVER 915
929netclient MACH_NETCLIENT NETCLIENT 916
930xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917
931xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918
932omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
933mxc30030evb MACH_MXC30030EVB MXC30030EVB 920
934rea_2d MACH_REA_2D REA_2D 921
935eti3e524 MACH_TI3E524 TI3E524 922
936ateb9200 MACH_ATEB9200 ATEB9200 923
937auckland MACH_AUCKLAND AUCKLAND 924
938ak3220m MACH_AK3320M AK3320M 925
939duramax MACH_DURAMAX DURAMAX 926
940n35 MACH_N35 N35 927
941pronghorn MACH_PRONGHORN PRONGHORN 928
942fundy MACH_FUNDY FUNDY 929
943logicpd_pxa270 MACH_LOGICPD_PXA270 LOGICPD_PXA270 930
944cpu777 MACH_CPU777 CPU777 931
945simicon9201 MACH_SIMICON9201 SIMICON9201 932
946leap2_hpm MACH_LEAP2_HPM LEAP2_HPM 933
947cm922txa10 MACH_CM922TXA10 CM922TXA10 934
948sandgate MACH_PXA PXA 935
949sandgate2 MACH_SANDGATE2 SANDGATE2 936
950sandgate2g MACH_SANDGATE2G SANDGATE2G 937
951sandgate2p MACH_SANDGATE2P SANDGATE2P 938
952fred_jack MACH_FRED_JACK FRED_JACK 939
953ttg_color1 MACH_TTG_COLOR1 TTG_COLOR1 940
954nxeb500hmi MACH_NXEB500HMI NXEB500HMI 941
955netdcu8 MACH_NETDCU8 NETDCU8 942
956ml675050_cpu_boa MACH_ML675050_CPU_BOA ML675050_CPU_BOA 943
957ng_fvx538 MACH_NG_FVX538 NG_FVX538 944
958ng_fvs338 MACH_NG_FVS338 NG_FVS338 945
959pnx4103 MACH_PNX4103 PNX4103 946
960hesdb MACH_HESDB HESDB 947
961xsilo MACH_XSILO XSILO 948
962espresso MACH_ESPRESSO ESPRESSO 949
963emlc MACH_EMLC EMLC 950
964sisteron MACH_SISTERON SISTERON 951
965rx1950 MACH_RX1950 RX1950 952
966tsc_venus MACH_TSC_VENUS TSC_VENUS 953
967ds101j MACH_DS101J DS101J 954
968mxc30030ads MACH_MXC30030ADS MXC30030ADS 955
969fujitsu_wimaxsoc MACH_FUJITSU_WIMAXSOC FUJITSU_WIMAXSOC 956
970dualpcmodem MACH_DUALPCMODEM DUALPCMODEM 957
971gesbc9312 MACH_GESBC9312 GESBC9312 958
972htcapache MACH_HTCAPACHE HTCAPACHE 959
973ixdp435 MACH_IXDP435 IXDP435 960
974catprovt100 MACH_CATPROVT100 CATPROVT100 961
975picotux1xx MACH_PICOTUX1XX PICOTUX1XX 962
976picotux2xx MACH_PICOTUX2XX PICOTUX2XX 963
977dsmg600 MACH_DSMG600 DSMG600 964
978empc2 MACH_EMPC2 EMPC2 965
979ventura MACH_VENTURA VENTURA 966
980phidget_sbc MACH_PHIDGET_SBC PHIDGET_SBC 967
981ij3k MACH_IJ3K IJ3K 968
982pisgah MACH_PISGAH PISGAH 969
983omap_fsample MACH_OMAP_FSAMPLE OMAP_FSAMPLE 970
984sg720 MACH_SG720 SG720 971
985redfox MACH_REDFOX REDFOX 972
986mysh_ep9315_1 MACH_MYSH_EP9315_1 MYSH_EP9315_1 973
987tpf106 MACH_TPF106 TPF106 974
988at91rm9200kg MACH_AT91RM9200KG AT91RM9200KG 975
989rcmt2 MACH_SLEDB SLEDB 976
990ontrack MACH_ONTRACK ONTRACK 977
991pm1200 MACH_PM1200 PM1200 978
992ess24562 MACH_ESS24XXX ESS24XXX 979
993coremp7 MACH_COREMP7 COREMP7 980
994nexcoder_6446 MACH_NEXCODER_6446 NEXCODER_6446 981
995stvc8380 MACH_STVC8380 STVC8380 982
996teklynx MACH_TEKLYNX TEKLYNX 983
997carbonado MACH_CARBONADO CARBONADO 984
998sysmos_mp730 MACH_SYSMOS_MP730 SYSMOS_MP730 985
999snapper_cl15 MACH_SNAPPER_CL15 SNAPPER_CL15 986
1000pgigim MACH_PGIGIM PGIGIM 987
1001ptx9160p2 MACH_PTX9160P2 PTX9160P2 988
1002dcore1 MACH_DCORE1 DCORE1 989
1003victorpxa MACH_VICTORPXA VICTORPXA 990
1004mx2dtb MACH_MX2DTB MX2DTB 991
1005pxa_irex_er0100 MACH_PXA_IREX_ER0100 PXA_IREX_ER0100 992
1006omap_palmz71 MACH_OMAP_PALMZ71 OMAP_PALMZ71 993
1007bartec_deg MACH_BARTEC_DEG BARTEC_DEG 994
1008hw50251 MACH_HW50251 HW50251 995
1009ibox MACH_IBOX IBOX 996
1010atlaslh7a404 MACH_ATLASLH7A404 ATLASLH7A404 997
1011pt2026 MACH_PT2026 PT2026 998
1012htcalpine MACH_HTCALPINE HTCALPINE 999
1013bartec_vtu MACH_BARTEC_VTU BARTEC_VTU 1000
1014vcoreii MACH_VCOREII VCOREII 1001
1015pdnb3 MACH_PDNB3 PDNB3 1002
1016htcbeetles MACH_HTCBEETLES HTCBEETLES 1003
1017s3c6400 MACH_S3C6400 S3C6400 1004
1018s3c2443 MACH_S3C2443 S3C2443 1005
1019omap_ldk MACH_OMAP_LDK OMAP_LDK 1006
1020smdk2460 MACH_SMDK2460 SMDK2460 1007
1021smdk2440 MACH_SMDK2440 SMDK2440 1008
1022smdk2412 MACH_SMDK2412 SMDK2412 1009
1023webbox MACH_WEBBOX WEBBOX 1010
1024cwwndp MACH_CWWNDP CWWNDP 1011
1025i839 MACH_DRAGON DRAGON 1012
1026opendo_cpu_board MACH_OPENDO_CPU_BOARD OPENDO_CPU_BOARD 1013
1027ccm2200 MACH_CCM2200 CCM2200 1014
1028etwarm MACH_ETWARM ETWARM 1015
1029m93030 MACH_M93030 M93030 1016
1030cc7u MACH_CC7U CC7U 1017
1031mtt_ranger MACH_MTT_RANGER MTT_RANGER 1018
1032nexus MACH_NEXUS NEXUS 1019
1033desman MACH_DESMAN DESMAN 1020
1034bkde303 MACH_BKDE303 BKDE303 1021
1035smdk2413 MACH_SMDK2413 SMDK2413 1022
1036aml_m7200 MACH_AML_M7200 AML_M7200 1023
1037aml_m5900 MACH_AML_M5900 AML_M5900 1024
1038sg640 MACH_SG640 SG640 1025
1039edg79524 MACH_EDG79524 EDG79524 1026
1040ai2410 MACH_AI2410 AI2410 1027
1041ixp465 MACH_IXP465 IXP465 1028
1042balloon3 MACH_BALLOON3 BALLOON3 1029
1043heins MACH_HEINS HEINS 1030
1044mpluseva MACH_MPLUSEVA MPLUSEVA 1031
1045rt042 MACH_RT042 RT042 1032
1046cwiem MACH_CWIEM CWIEM 1033
1047cm_x270 MACH_CM_X270 CM_X270 1034
1048cm_x255 MACH_CM_X255 CM_X255 1035
1049esh_at91 MACH_ESH_AT91 ESH_AT91 1036
1050sandgate3 MACH_SANDGATE3 SANDGATE3 1037
1051primo MACH_PRIMO PRIMO 1038
1052gemstone MACH_GEMSTONE GEMSTONE 1039
1053pronghorn_metro MACH_PRONGHORNMETRO PRONGHORNMETRO 1040
1054sidewinder MACH_SIDEWINDER SIDEWINDER 1041
1055picomod1 MACH_PICOMOD1 PICOMOD1 1042
1056sg590 MACH_SG590 SG590 1043
1057akai9307 MACH_AKAI9307 AKAI9307 1044
1058fontaine MACH_FONTAINE FONTAINE 1045
1059wombat MACH_WOMBAT WOMBAT 1046
1060acq300 MACH_ACQ300 ACQ300 1047
1061mod_270 MACH_MOD_270 MOD_270 1048
1062vmc_vc0820 MACH_VC0820 VC0820 1049
1063ani_aim MACH_ANI_AIM ANI_AIM 1050
1064jellyfish MACH_JELLYFISH JELLYFISH 1051
1065amanita MACH_AMANITA AMANITA 1052
1066vlink MACH_VLINK VLINK 1053
1067dexflex MACH_DEXFLEX DEXFLEX 1054
1068eigen_ttq MACH_EIGEN_TTQ EIGEN_TTQ 1055
1069arcom_titan MACH_ARCOM_TITAN ARCOM_TITAN 1056
1070tabla MACH_TABLA TABLA 1057
1071mdirac3 MACH_MDIRAC3 MDIRAC3 1058
1072mrhfbp2 MACH_MRHFBP2 MRHFBP2 1059
1073at91rm9200rb MACH_AT91RM9200RB AT91RM9200RB 1060
1074ani_apm MACH_ANI_APM ANI_APM 1061
1075ella1 MACH_ELLA1 ELLA1 1062
1076inhand_pxa27x MACH_INHAND_PXA27X INHAND_PXA27X 1063
1077inhand_pxa25x MACH_INHAND_PXA25X INHAND_PXA25X 1064
1078empos_xm MACH_EMPOS_XM EMPOS_XM 1065
1079empos MACH_EMPOS EMPOS 1066
1080empos_tiny MACH_EMPOS_TINY EMPOS_TINY 1067
1081empos_sm MACH_EMPOS_SM EMPOS_SM 1068
1082egret MACH_EGRET EGRET 1069
1083ostrich MACH_OSTRICH OSTRICH 1070
1084n50 MACH_N50 N50 1071
1085ecbat91 MACH_ECBAT91 ECBAT91 1072
1086stareast MACH_STAREAST STAREAST 1073
1087dspg_dw MACH_DSPG_DW DSPG_DW 1074
1088onearm MACH_ONEARM ONEARM 1075
1089mrg110_6 MACH_MRG110_6 MRG110_6 1076
1090wrt300nv2 MACH_WRT300NV2 WRT300NV2 1077
1091xm_bulverde MACH_XM_BULVERDE XM_BULVERDE 1078
1092msm6100 MACH_MSM6100 MSM6100 1079
1093eti_b1 MACH_ETI_B1 ETI_B1 1080
1094za9l_series MACH_ZILOG_ZA9L ZILOG_ZA9L 1081
1095bit2440 MACH_BIT2440 BIT2440 1082
1096nbi MACH_NBI NBI 1083
1097smdk2443 MACH_SMDK2443 SMDK2443 1084
1098vdavinci MACH_VDAVINCI VDAVINCI 1085
1099atc6 MACH_ATC6 ATC6 1086
1100multmdw MACH_MULTMDW MULTMDW 1087
1101mba2440 MACH_MBA2440 MBA2440 1088
1102ecsd MACH_ECSD ECSD 1089
1103zire31 MACH_ZIRE31 ZIRE31 1090
1104fsg MACH_FSG FSG 1091
1105razor101 MACH_RAZOR101 RAZOR101 1092
1106opera_tdm MACH_OPERA_TDM OPERA_TDM 1093
1107comcerto MACH_COMCERTO COMCERTO 1094
1108tb0319 MACH_TB0319 TB0319 1095
1109kws8000 MACH_KWS8000 KWS8000 1096
1110b2 MACH_B2 B2 1097
1111lcl54 MACH_LCL54 LCL54 1098
1112at91sam9260ek MACH_AT91SAM9260EK AT91SAM9260EK 1099
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch b/openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch
new file mode 100644
index 0000000000..d77e9d8fbd
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch
@@ -0,0 +1,599 @@
1Index: linux-2.6.17/drivers/mtd/nand/cm-x270.c
2===================================================================
3--- linux-2.6.17.orig/drivers/mtd/nand/cm-x270.c 2006-07-18 15:40:10.000000000 +0100
4+++ linux-2.6.17/drivers/mtd/nand/cm-x270.c 2006-07-19 15:35:18.000000000 +0100
5@@ -1,7 +1,13 @@
6 /*
7- * drivers/mtd/nand/cm-x270.c
8+ * linux/drivers/mtd/nand/cmx270-nand.c
9+ *
10+ * Copyright (C) 2006 Compulab, Ltd.
11+ * Mike Rapoport <mike@compulab.co.il>
12+ *
13+ * Derived from drivers/mtd/nand/h1910.c
14+ * Copyright (C) 2002 Marius Gröger (mag@sysgo.de)
15+ * Copyright (c) 2001 Thomas Gleixner (gleixner@autronix.de)
16 *
17- * Copyright (c) 2006, 8D Technologies inc.
18 *
19 * This program is free software; you can redistribute it and/or modify
20 * it under the terms of the GNU General Public License version 2 as
21@@ -9,397 +15,269 @@
22 *
23 * Overview:
24 * This is a device driver for the NAND flash device found on the
25- * cm-x270 compulab SBC.
26- *
27- * Changelog:
28- * - April 2006, Raphael Assenat <raph@8d.com>:
29- * Creation of the driver.
30+ * CM-X270 board.
31 */
32
33-#include <linux/delay.h>
34+#include <linux/slab.h>
35+#include <linux/init.h>
36+#include <linux/module.h>
37 #include <linux/mtd/mtd.h>
38 #include <linux/mtd/nand.h>
39 #include <linux/mtd/partitions.h>
40-#include <asm/hardware.h>
41+
42 #include <asm/io.h>
43+#include <asm/irq.h>
44+
45+#include <asm/arch/hardware.h>
46 #include <asm/arch/pxa-regs.h>
47-#include <asm/arch/cm-x270.h>
48
49+#define GPIO_NAND_CS (11)
50+#define GPIO_NAND_RB (89)
51
52-static struct mtd_info *cmx270_mtd = NULL;
53-static void *cmx270_nand_io_base;
54-#define OFFSET_BASE 0
55-#define OFFSET_CLE 4
56-#define OFFSET_ALE 8
57-
58-#define DEFAULT_NUM_PARTITIONS 1
59-static int nr_partitions;
60-static struct mtd_partition cmx270_default_partition_info[] = {
61- {
62- .name = "rootfs",
63- .offset = 0,
64- .size = MTDPART_SIZ_FULL,
65- },
66-};
67+/* This macro needed to ensure in-order operation of GPIO and local
68+ * bus. Without both asm command and dummy uncached read there're
69+ * states when NAND access is broken. I've looked for such macro(s) in
70+ * include/asm-arm but found nothing approptiate.
71+ * dmac_clean_range is close, but is makes cache invalidation
72+ * unnecessary here and it cannot be used in module
73+ */
74+#define DRAIN_WB() \
75+ do { \
76+ unsigned char dummy; \
77+ asm volatile ("mcr p15, 0, r0, c7, c10, 4":::"r0"); \
78+ dummy=*((unsigned char*)UNCACHED_ADDR); \
79+ } while(0)
80
81-static void cmx270_nand_hwcontrol(struct mtd_info *mtd, int cmd)
82-{
83- udelay(1);
84- switch(cmd)
85+/* MTD structure for CM-X270 board */
86+static struct mtd_info *cmx270_nand_mtd;
87+
88+/* remaped IO address of the device */
89+static void __iomem *cmx270_nand_io;
90+
91+/*
92+ * Define static partitions for flash device
93+ */
94+static struct mtd_partition partition_info[] = {
95 {
96- case NAND_CTL_SETNCE:
97- GPCR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
98- break;
99- case NAND_CTL_CLRNCE:
100- GPSR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
101- break;
102+ .name = "cmx270-0",
103+ .offset = 0,
104+ .size = MTDPART_SIZ_FULL
105 }
106- udelay(1);
107-}
108-
109-static int cmx270_nand_device_ready(struct mtd_info *mtd)
110-{
111- /* I was getting ecc errors on reads, but adding this delay
112- made the problem disappear. There is probably a timing
113- issue somewhere. */
114- //ndelay (500);
115- udelay (25);
116+};
117+#define NUM_PARTITIONS (ARRAY_SIZE(partition_info))
118
119- return GPLR(CM_X270_GPIO_NAND_RB) & GPIO_bit(CM_X270_GPIO_NAND_RB);
120-}
121+const char *part_probes[] = { "cmdlinepart", NULL };
122
123-static u_char cmx270_nand_read_byte(struct mtd_info *mtd)
124+static u_char cmx270_read_byte(struct mtd_info *mtd)
125 {
126 struct nand_chip *this = mtd->priv;
127-// unsigned long raw = readl(this->IO_ADDR_R);
128- unsigned char res = ( readl(this->IO_ADDR_R) >> 16 ) & 0xff;
129- return res;
130-}
131
132-static void cmx270_nand_write_byte(struct mtd_info *mtd, u_char byte)
133-{
134- struct nand_chip *this = mtd->priv;
135- writel( (byte<<16), this->IO_ADDR_W );
136- udelay(1);
137+ return (readl(this->IO_ADDR_R) >> 16);
138 }
139
140-static void cmx270_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
141+static void cmx270_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
142 {
143 int i;
144 struct nand_chip *this = mtd->priv;
145
146 for (i=0; i<len; i++)
147- writel((buf[i]<<16), this->IO_ADDR_W);
148- udelay(1);
149+ writel((*buf++ << 16), this->IO_ADDR_W);
150 }
151
152-static void cmx270_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
153+static void cmx270_read_buf(struct mtd_info *mtd, u_char *buf, int len)
154 {
155 int i;
156 struct nand_chip *this = mtd->priv;
157
158 for (i=0; i<len; i++)
159- buf[i] = (readl(this->IO_ADDR_R) >> 16 ) & 0xff;
160- udelay(1);
161+ *buf++ = readl(this->IO_ADDR_R) >> 16;
162 }
163
164-static int cmx270_nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
165+static int cmx270_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
166 {
167 int i;
168 struct nand_chip *this = mtd->priv;
169
170 for (i=0; i<len; i++)
171- if (buf[i] != ((readl(this->IO_ADDR_R) >> 16) & 0xff))
172+ if (buf[i] != (u_char)(readl(this->IO_ADDR_R) >> 16))
173 return -EFAULT;
174- udelay(1);
175
176 return 0;
177 }
178
179-static void cmx270_nand_write_ALE(struct mtd_info *mtd, const u_char byte)
180+static inline void nand_cs_on(void)
181 {
182- struct nand_chip *this = mtd->priv;
183- writel( byte << 16 , this->IO_ADDR_W + OFFSET_ALE);
184- udelay(1);
185+ GPCR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
186 }
187
188-static void cmx270_nand_write_CLE(struct mtd_info *mtd, const u_char byte)
189+static void nand_cs_off(void)
190 {
191- struct nand_chip *this = mtd->priv;
192- writel( byte << 16 , this->IO_ADDR_W + OFFSET_CLE);
193- udelay(1);
194+ DRAIN_WB();
195+
196+ GPSR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
197 }
198
199-/* Same as nand_core:nand_command() but with different memory
200- * addresses for writing to ALE and CLE and without 16 bit support.
201+/*
202+ * hardware specific access to control-lines
203 */
204-static void cmx270_nand_command(struct mtd_info *mtd, unsigned command, int column, int page_addr)
205+static void cmx270_hwcontrol(struct mtd_info *mtd, int cmd)
206 {
207- register struct nand_chip *this = mtd->priv;
208+ struct nand_chip* this = (struct nand_chip *) (mtd->priv);
209+ unsigned int nandaddr = (unsigned int)this->IO_ADDR_R;
210
211-// printk("cmd: 0x%02x col: 0x%x page_addr: 0x%x\n",
212-// command, column, page_addr);
213-
214- if (command == NAND_CMD_SEQIN) {
215- int readcmd;
216-
217- if (column >= mtd->oobblock) {
218- /* OOB area */
219- column -= mtd->oobblock;
220- readcmd = NAND_CMD_READOOB;
221- } else if (column < 256) {
222- /* First 256 bytes --> READ0 */
223- readcmd = NAND_CMD_READ0;
224- } else {
225- column -= 256;
226- readcmd = NAND_CMD_READ1;
227- }
228- cmx270_nand_write_CLE(mtd, readcmd);
229- }
230- cmx270_nand_write_CLE(mtd, command);
231+ DRAIN_WB();
232
233- if (column != -1 || page_addr != -1) {
234-
235- /* Serially input address */
236- if (column != -1) {
237- cmx270_nand_write_ALE(mtd, column);
238- }
239- if (page_addr != -1) {
240- cmx270_nand_write_ALE(mtd, (unsigned char) (page_addr & 0xff));
241- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 8) & 0xff));
242- /* One more address cycle for devices > 32MiB */
243- if (this->chipsize > (32 << 20))
244- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 16) & 0x0f));
245- }
246- }
247+ switch(cmd) {
248
249- /*
250- * program and erase have their own busy handlers
251- * status and sequential in needs no delay
252- */
253- switch (command) {
254-
255- case NAND_CMD_PAGEPROG:
256- case NAND_CMD_ERASE1:
257- case NAND_CMD_ERASE2:
258- case NAND_CMD_SEQIN:
259- case NAND_CMD_STATUS:
260- return;
261-
262- case NAND_CMD_RESET:
263- if (this->dev_ready)
264- break;
265- udelay(this->chip_delay);
266- cmx270_nand_write_CLE(mtd, NAND_CMD_STATUS);
267- while ( !(this->read_byte(mtd) & 0x40));
268- return;
269-
270- /* This applies to read commands */
271- default:
272- /*
273- * If we don't have access to the busy pin, we apply the given
274- * command delay
275- */
276- if (!this->dev_ready) {
277- udelay(this->chip_delay);
278- return;
279- }
280- }
281-
282- /* Apply this short delay always to ensure that we do wait tWB in
283- * any case on any machine. */
284- ndelay (100);
285- /* wait until command is processed */
286- while (!this->dev_ready(mtd));
287- ndelay (100);
288+ case NAND_CTL_SETCLE:
289+ nandaddr |= (1 << 2);
290+ this->IO_ADDR_R = (void __iomem*)nandaddr;
291+ this->IO_ADDR_W = (void __iomem*)nandaddr;
292+ break;
293+ case NAND_CTL_CLRCLE:
294+ nandaddr &= ~(1 << 2);
295+ this->IO_ADDR_R = (void __iomem*)nandaddr;
296+ this->IO_ADDR_W = (void __iomem*)nandaddr;
297+ break;
298+
299+ case NAND_CTL_SETALE:
300+ nandaddr |= (1 << 3);
301+ this->IO_ADDR_R = (void __iomem*)nandaddr;
302+ this->IO_ADDR_W = (void __iomem*)nandaddr;
303+ break;
304+ case NAND_CTL_CLRALE:
305+ nandaddr &= ~(1 << 3);
306+ this->IO_ADDR_R = (void __iomem*)nandaddr;
307+ this->IO_ADDR_W = (void __iomem*)nandaddr;
308+ break;
309+
310+ case NAND_CTL_SETNCE:
311+ nand_cs_on();
312+ break;
313+ case NAND_CTL_CLRNCE:
314+ nand_cs_off();
315+ break;
316+ }
317+
318+ DRAIN_WB();
319 }
320
321-/* Same as nand_core:nand_command_lp() but with different memory
322- * addresses for writing to ALE and CLE and without 16 bit support.
323+
324+/*
325+ * read device ready pin
326 */
327-static void cmx270_nand_command_lp (struct mtd_info *mtd, unsigned command, int column, int page_addr)
328+static int cmx270_device_ready(struct mtd_info *mtd)
329 {
330- register struct nand_chip *this = mtd->priv;
331-
332- /* Emulate NAND_CMD_READOOB */
333- if (command == NAND_CMD_READOOB) {
334- column += mtd->oobblock;
335- command = NAND_CMD_READ0;
336-// printk("Read OOB: column: $%x, page: $%x\n", column, page_addr);
337- }
338-
339- /* Write out the command to the device. */
340- cmx270_nand_write_CLE(mtd, command);
341-
342- if (column != -1 || page_addr != -1) {
343-
344- /* Serially input address */
345- if (column != -1) {
346- cmx270_nand_write_ALE(mtd, column & 0xff);
347- cmx270_nand_write_ALE(mtd, column >> 8);
348- if ((column >> 8) > 0xf) {
349- printk("out of range column\n");
350- }
351- }
352- if (page_addr != -1) {
353- cmx270_nand_write_ALE(mtd, (unsigned char) (page_addr & 0xff));
354- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 8) & 0xff));
355- /* One more address cycle for devices > 128MiB */
356- if (this->chipsize > (128 << 20)) {
357- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 16) & 0xff));
358- }
359- }
360- }
361+ DRAIN_WB();
362
363- udelay(1);
364-
365- /*
366- * program and erase have their own busy handlers
367- * status and sequential in needs no delay
368- */
369- switch (command) {
370-
371- case NAND_CMD_CACHEDPROG:
372- case NAND_CMD_PAGEPROG:
373- case NAND_CMD_ERASE1:
374- case NAND_CMD_ERASE2:
375- case NAND_CMD_SEQIN:
376- case NAND_CMD_STATUS:
377- case NAND_CMD_DEPLETE1:
378- return;
379-
380- /*
381- * read error status commands require only a short delay
382- */
383- case NAND_CMD_STATUS_ERROR:
384- case NAND_CMD_STATUS_ERROR0:
385- case NAND_CMD_STATUS_ERROR1:
386- case NAND_CMD_STATUS_ERROR2:
387- case NAND_CMD_STATUS_ERROR3:
388- udelay(this->chip_delay);
389- return;
390-
391- case NAND_CMD_RESET:
392- if (this->dev_ready)
393- break;
394- udelay(this->chip_delay);
395- cmx270_nand_write_CLE(mtd, NAND_CMD_STATUS);
396- while ( !(this->read_byte(mtd) & NAND_STATUS_READY));
397- return;
398-
399- case NAND_CMD_READ0:
400- /* Write out the start read command */
401- cmx270_nand_write_CLE(mtd, NAND_CMD_READSTART);
402- /* Fall through into ready check */
403-
404- /* This applies to read commands */
405- default:
406- /*
407- * If we don't have access to the busy pin, we apply the given
408- * command delay
409- */
410- if (!this->dev_ready) {
411- udelay (this->chip_delay);
412- return;
413- }
414- }
415-
416- /* Apply this short delay always to ensure that we do wait tWB in
417- * any case on any machine. */
418- ndelay (100);
419- /* wait until command is processed */
420- while (!this->dev_ready(mtd));
421+ return (GPLR(GPIO_NAND_RB) & GPIO_bit(GPIO_NAND_RB));
422 }
423
424-
425-#ifdef CONFIG_MTD_PARTITIONS
426-const char *part_probes[] = { "cmdlinepart", NULL };
427-#endif
428-
429-int __init cmx270_nand_init(void)
430+/*
431+ * Main initialization routine
432+ */
433+static int __devinit cmx270_init(void)
434 {
435 struct nand_chip *this;
436- struct mtd_partition* cmx270_partition_info;
437- int err = 0;
438-
439- pxa_gpio_mode(CM_X270_GPIO_NAND_RB);
440+ const char *part_type;
441+ struct mtd_partition *mtd_parts;
442+ int mtd_parts_nb = 0;
443+ int ret;
444
445- GPSR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
446- pxa_gpio_mode(CM_X270_GPIO_NAND_CS | GPIO_OUT);
447-
448 /* Allocate memory for MTD device structure and private data */
449- cmx270_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip),
450- GFP_KERNEL);
451- if (!cmx270_mtd) {
452- printk(KERN_WARNING "Unable to allocate cm-x270 NAND mtd device structure.\n");
453- err = -ENOMEM;
454- goto out;
455+ cmx270_nand_mtd = kzalloc(sizeof(struct mtd_info) +
456+ sizeof(struct nand_chip),
457+ GFP_KERNEL);
458+ if (!cmx270_nand_mtd) {
459+ printk("Unable to allocate CM-X270 NAND MTD device structure.\n");
460+ return -ENOMEM;
461 }
462
463- /* map physical address */
464- cmx270_nand_io_base = ioremap(CM_X270_NAND_PHYS, 0x100);
465- if (!cmx270_nand_io_base) {
466- err = -EIO;
467- goto out_mtd;
468+ cmx270_nand_io = ioremap(PXA_CS1_PHYS, 12);
469+ if (!cmx270_nand_io) {
470+ printk("Unable to ioremap NAND device\n");
471+ ret = -EINVAL;
472+ goto err1;
473 }
474
475 /* Get pointer to private data */
476- this = (struct nand_chip *)(&cmx270_mtd[1]);
477-
478- /* Initialize structures */
479- memset((char *) cmx270_mtd, 0, sizeof(struct mtd_info));
480- memset((char *) this, 0, sizeof(struct nand_chip));
481+ this = (struct nand_chip *)(&cmx270_nand_mtd[1]);
482
483 /* Link the private data with the MTD structure */
484- cmx270_mtd->priv = this;
485+ cmx270_nand_mtd->owner = THIS_MODULE;
486+ cmx270_nand_mtd->priv = this;
487
488- this->IO_ADDR_R = cmx270_nand_io_base;
489- this->IO_ADDR_W = cmx270_nand_io_base;
490- this->read_byte = cmx270_nand_read_byte;
491- this->write_byte = cmx270_nand_write_byte;
492- this->write_buf = cmx270_nand_write_buf;
493- this->read_buf = cmx270_nand_read_buf;
494- this->verify_buf = cmx270_nand_verify_buf;
495- this->hwcontrol = cmx270_nand_hwcontrol;
496- this->dev_ready = cmx270_nand_device_ready;
497- this->cmdfunc = cmx270_nand_command_lp;
498- this->chip_delay = 25;
499+ /* insert callbacks */
500+ this->IO_ADDR_R = cmx270_nand_io;
501+ this->IO_ADDR_W = cmx270_nand_io;
502+ this->hwcontrol = cmx270_hwcontrol;
503+ this->dev_ready = cmx270_device_ready;
504+
505+ /* 15 us command delay time */
506+ this->chip_delay = 20;
507 this->eccmode = NAND_ECC_SOFT;
508
509- /* Scan to find existance of the device */
510- if (nand_scan(cmx270_mtd, 1)) {
511- err = -ENXIO;
512- goto out_ior;
513+ /* read/write functions */
514+ this->read_byte = cmx270_read_byte;
515+ this->read_buf = cmx270_read_buf;
516+ this->write_buf = cmx270_write_buf;
517+ this->verify_buf = cmx270_verify_buf;
518+
519+ /* Scan to find existence of the device */
520+ if (nand_scan (cmx270_nand_mtd, 1)) {
521+ printk(KERN_NOTICE "No NAND device\n");
522+ ret = -ENXIO;
523+ goto err2;
524+ }
525+
526+#ifdef CONFIG_MTD_CMDLINE_PARTS
527+ mtd_parts_nb = parse_mtd_partitions(cmx270_nand_mtd, part_probes,
528+ &mtd_parts, 0);
529+ if (mtd_parts_nb > 0)
530+ part_type = "command line";
531+ else
532+ mtd_parts_nb = 0;
533+#endif
534+ if (!mtd_parts_nb) {
535+ mtd_parts = partition_info;
536+ mtd_parts_nb = NUM_PARTITIONS;
537+ part_type = "static";
538 }
539
540 /* Register the partitions */
541- cmx270_mtd->name = "cmx270-mtd";
542- nr_partitions = parse_mtd_partitions(cmx270_mtd, part_probes, &cmx270_partition_info, 0);
543- if (nr_partitions <= 0) {
544- nr_partitions = DEFAULT_NUM_PARTITIONS;
545- cmx270_partition_info = cmx270_default_partition_info;
546- }
547+ printk(KERN_NOTICE "Using %s partition definition\n", part_type);
548+ ret = add_mtd_partitions(cmx270_nand_mtd, mtd_parts, mtd_parts_nb);
549+ if (ret)
550+ goto err2;
551+
552+ /* Return happy */
553+ return 0;
554+
555+err2:
556+ iounmap(cmx270_nand_io);
557+err1:
558+ kfree(cmx270_nand_mtd);
559+
560+ return ret;
561
562- add_mtd_partitions(cmx270_mtd, cmx270_partition_info, nr_partitions);
563-
564- goto out;
565-
566-out_ior:
567- iounmap((void*) cmx270_nand_io_base);
568-out_mtd:
569- kfree(cmx270_mtd);
570-out:
571- return err;
572 }
573-module_init(cmx270_nand_init);
574+module_init(cmx270_init);
575
576-static void __exit cmx270_nand_cleanup(void)
577+/*
578+ * Clean up routine
579+ */
580+static void __devexit cmx270_cleanup(void)
581 {
582- nand_release(cmx270_mtd);
583- kfree(cmx270_mtd);
584+ /* Release resources, unregister device */
585+ nand_release(cmx270_nand_mtd);
586+
587+ iounmap(cmx270_nand_io);
588+
589+ /* Free the MTD device structure */
590+ kfree (cmx270_nand_mtd);
591 }
592+module_exit(cmx270_cleanup);
593
594 MODULE_LICENSE("GPL");
595-MODULE_AUTHOR("Raphael Assenat <raph@8d.com>");
596-MODULE_DESCRIPTION("NAND flash driver for cm-x270 boards");
597-
598+MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
599+MODULE_DESCRIPTION("NAND flash driver for Compulab CM-X270 Module");
diff --git a/openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch b/openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch
new file mode 100644
index 0000000000..da00e1f8e9
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch
@@ -0,0 +1,15 @@
1Index: linux-2.6.17/drivers/mtd/nand/cm-x270.c
2===================================================================
3--- linux-2.6.17.orig/drivers/mtd/nand/cm-x270.c 2006-07-19 16:47:08.000000000 +0100
4+++ linux-2.6.17/drivers/mtd/nand/cm-x270.c 2006-07-19 16:55:23.000000000 +0100
5@@ -184,6 +184,10 @@
6 int mtd_parts_nb = 0;
7 int ret;
8
9+ pxa_gpio_mode(GPIO_NAND_RB);
10+ GPSR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
11+ pxa_gpio_mode(GPIO_NAND_CS | GPIO_OUT);
12+
13 /* Allocate memory for MTD device structure and private data */
14 cmx270_nand_mtd = kzalloc(sizeof(struct mtd_info) +
15 sizeof(struct nand_chip),
diff --git a/openembedded/packages/linux/linux-cmx270_2.6.17.bb b/openembedded/packages/linux/linux-cmx270_2.6.17.bb
new file mode 100644
index 0000000000..d9cdd7e9e2
--- /dev/null
+++ b/openembedded/packages/linux/linux-cmx270_2.6.17.bb
@@ -0,0 +1,40 @@
1SECTION = "kernel"
2DESCRIPTION = "Linux kernel CM-X270"
3LICENSE = "GPL"
4PR = "r7"
5
6SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
7 http://raph.people.8d.com/kernels/8d-cmx2xx-2.6.17.1-june21.diff;patch=1 \
8 http://raph.people.8d.com/kernels/hardcode-archID.diff;patch=1 \
9 file://cm_x2xx_mbx.patch;patch=1 \
10 file://add_2700g_plat-r0.patch;patch=1 \
11 file://mtd_fixes-r0.patch;patch=1 \
12 file://mtd_fixes1-r0.patch;patch=1 \
13 file://mach-types \
14 file://defconfig"
15
16S = "${WORKDIR}//linux-2.6.17"
17
18KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
19
20inherit kernel
21
22COMPATIBLE_HOST = "arm.*-linux"
23COMPATIBLE_MACHINE = "cmx270"
24
25do_configure_prepend() {
26 install -m 0644 ${WORKDIR}/defconfig ${S}/.config
27 install -m 0644 ${WORKDIR}/mach-types ${S}/arch/arm/tools/mach-types
28 oe_runmake oldconfig
29}
30
31do_deploy() {
32 install -d ${DEPLOY_DIR}/images
33 install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
34}
35
36do_deploy[dirs] = "${S}"
37
38addtask deploy before do_build after do_compile
39
40KERNEL_RELEASE = "2.6.17" \ No newline at end of file