[oe] [PATCH] Linux-2.6.32-rc6 + IMote2 platform support.

Jonathan Cameron jic23 at cam.ac.uk
Wed Nov 4 19:47:34 UTC 2009


Signed-off-by: Jonathan Cameron <jic23 at cam.ac.uk>
---
Reasons for release candidate:

IIO only merged into staging post 2.6.31
By rc6 a couple of build errors have been fixed.

Imote2 Patches:
1) Firmware loading for liberatas has a tricky to track down timing
   issue. Discussed at length on libertas-dev but whilst the following
   works no one is sure why and hence it hasn't gone upstream.
2) OV7670 soc-camera support.  Waiting for imagebus patches to merge
   (see linux-media) Until then we can't quite get rid of all the soc
   camera specific stuff needed to make the current ov7670 driver work
   with the pxa27x. Hence delay in merging this one with mainline.
3) Board support for ov7670 is obviously waiting for the driver in
   mainline to work.
4) Silly sched.h fix that hasn't made it through the arm tree as of yet
5) Periodic timer for pxa27x's many many timers.  This one is never going
   to merge as general opinion is more general framework is needed.  Still
   that will be a while coming and this allows some iio stuff to work with
   this board in the meantime
6) defconfig (does what is says on the tin) 

 conf/checksums.ini                                 |    4 +
 ...io-A-timing-issue-during-helper-firmware-.patch |   28 +
 .../0002-ov7670-Temporary-soc-camera-support.patch |   96 ++
 ...Mote2-Add-board-support-for-ov7670-camera.patch |  179 ++
 ...ix-real-one-working-it-s-way-through-the-.patch |   25 +
 ...tc-driver-to-driver-IIO.-Uses-periodic-ti.patch |  461 ++++++
 ...board-support-form-periodic-rtc-pxa27x-an.patch |   53 +
 .../linux/linux-2.6.31+2.6.32-rc6/imote2/defconfig | 1741 ++++++++++++++++++++
 recipes/linux/linux_2.6.31+2.6.32-rc6.bb           |   28 +
 9 files changed, 2615 insertions(+), 0 deletions(-)

diff --git a/conf/checksums.ini b/conf/checksums.ini
index 811a975..86dcef3 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -20686,6 +20686,10 @@ sha256=25a9aff47cc568e4bcaa4377cacbcae11ea454aeeea9519aa3a1b6dbffea713c
 md5=2f399a5e286a9fe7cb40bfd3d42a7a3d
 sha256=79a9913a74e58af6431bb952aac2cf0a1f4422287f420844f24ca6bc5ed0fdc4
 
+[http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.32-rc6.bz2]
+md5=cd6dc6208ea349fa9313c87aa819ae00
+sha256=8741d7bfec9f465263d951b5515ffc472031d037f6ac29d21f245c493bf69f59
+
 [http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.4.bz2]
 md5=d0fc44b54ba5953140b3f2aa9a1f2580
 sha256=b7716971e73c8fa96ecd9cdb598c8bd3a2a946e289cfef5dcfaa11a0022737ce
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0001-Libertas_sdio-A-timing-issue-during-helper-firmware-.patch b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0001-Libertas_sdio-A-timing-issue-during-helper-firmware-.patch
new file mode 100644
index 0000000..5f2119b
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0001-Libertas_sdio-A-timing-issue-during-helper-firmware-.patch
@@ -0,0 +1,28 @@
+From 33c0b1f84b67c3596b9ae92394ceb9dcd99b45e2 Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23 at cam.ac.uk>
+Date: Thu, 1 Oct 2009 15:30:32 +0100
+Subject: [PATCH 01/10] Libertas_sdio: A timing issue during helper firmware loading was leading to a failure of the main firmware load on Imote2.
+
+This patch adds an a 1 millisecond delay allowing successful
+firmware load.
+
+Signed-off-by: Jonathan Cameron <jic23 at cam.ac.uk>
+---
+ drivers/net/wireless/libertas/if_sdio.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c
+index 485a8d4..8a4e82c 100644
+--- a/drivers/net/wireless/libertas/if_sdio.c
++++ b/drivers/net/wireless/libertas/if_sdio.c
+@@ -514,6 +514,7 @@ static int if_sdio_prog_helper(struct if_sdio_card *card)
+ /*
+ 		lbs_deb_sdio("sending %d bytes chunk\n", chunk_size);
+ */
++		mdelay(1);
+ 		ret = sdio_writesb(card->func, card->ioport,
+ 				chunk_buffer, 64);
+ 		if (ret)
+-- 
+1.6.3.3
+
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0002-ov7670-Temporary-soc-camera-support.patch b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0002-ov7670-Temporary-soc-camera-support.patch
new file mode 100644
index 0000000..56f5a3d
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0002-ov7670-Temporary-soc-camera-support.patch
@@ -0,0 +1,96 @@
+From 408902c5584796924f8f9903f6c7338db4a0fd0f Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23 at cam.ac.uk>
+Date: Sat, 4 Jul 2009 13:25:06 +0000
+Subject: [PATCH 02/10] ov7670: Temporary soc-camera support
+
+Signed-off-by: Jonathan Cameron <jic23 at cam.ac.uk>
+---
+ drivers/media/video/ov7670.c |   50 ++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 50 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/media/video/ov7670.c b/drivers/media/video/ov7670.c
+index 0e2184e..910a499 100644
+--- a/drivers/media/video/ov7670.c
++++ b/drivers/media/video/ov7670.c
+@@ -19,6 +19,8 @@
+ #include <media/v4l2-chip-ident.h>
+ #include <media/v4l2-i2c-drv.h>
+ 
++#include <media/soc_camera.h>
++#include <linux/autoconf.h>
+ 
+ MODULE_AUTHOR("Jonathan Corbet <corbet at lwn.net>");
+ MODULE_DESCRIPTION("A low-level driver for OmniVision ov7670 sensors");
+@@ -745,6 +747,10 @@ static int ov7670_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *fmt)
+ 	struct ov7670_info *info = to_state(sd);
+ 	unsigned char com7, clkrc = 0;
+ 
++	ret = ov7670_init(sd, 0);
++	if (ret)
++		return ret;
++
+ 	ret = ov7670_try_fmt_internal(sd, fmt, &ovfmt, &wsize);
+ 	if (ret)
+ 		return ret;
+@@ -1239,6 +1245,41 @@ static const struct v4l2_subdev_ops ov7670_ops = {
+ };
+ 
+ /* ----------------------------------------------------------------------- */
++static unsigned long ov7670_soc_query_bus_param(struct soc_camera_device *icd)
++{
++	struct soc_camera_link *icl = to_soc_camera_link(icd);
++
++	unsigned long flags = SOCAM_PCLK_SAMPLE_RISING | SOCAM_MASTER |
++		SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_HSYNC_ACTIVE_HIGH |
++		SOCAM_DATAWIDTH_8 | SOCAM_DATA_ACTIVE_HIGH;
++
++	return soc_camera_apply_sensor_flags(icl, flags);
++}
++
++/* This device only supports one bus option */
++static int ov7670_soc_set_bus_param(struct soc_camera_device *icd,
++				    unsigned long flags)
++{
++	return 0;
++}
++
++static struct soc_camera_ops ov7670_soc_ops = {
++	.set_bus_param = ov7670_soc_set_bus_param,
++	.query_bus_param = ov7670_soc_query_bus_param,
++};
++
++#define SETFOURCC(type) .name = (#type), .fourcc = (V4L2_PIX_FMT_ ## type)
++static const struct soc_camera_data_format ov7670_soc_fmt_lists[] = {
++	{
++		SETFOURCC(YUYV),
++		.depth = 16,
++		.colorspace = V4L2_COLORSPACE_JPEG,
++	}, {
++		SETFOURCC(RGB565),
++		.depth = 16,
++		.colorspace = V4L2_COLORSPACE_SRGB,
++	},
++};
+ 
+ static int ov7670_probe(struct i2c_client *client,
+ 			const struct i2c_device_id *id)
+@@ -1246,7 +1287,16 @@ static int ov7670_probe(struct i2c_client *client,
+ 	struct v4l2_subdev *sd;
+ 	struct ov7670_info *info;
+ 	int ret;
++	struct soc_camera_device *icd = client->dev.platform_data;
++
++	if (!icd) {
++		dev_err(&client->dev, "OV7670: missing soc-camera data!\n");
++		return -EINVAL;
++	}
+ 
++	icd->ops = &ov7670_soc_ops;
++	icd->formats = ov7670_soc_fmt_lists;
++	icd->num_formats = ARRAY_SIZE(ov7670_soc_fmt_lists);
+ 	info = kzalloc(sizeof(struct ov7670_info), GFP_KERNEL);
+ 	if (info == NULL)
+ 		return -ENOMEM;
+-- 
+1.6.3.3
+
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0003-IMote2-Add-board-support-for-ov7670-camera.patch b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0003-IMote2-Add-board-support-for-ov7670-camera.patch
new file mode 100644
index 0000000..7bc3c5b
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0003-IMote2-Add-board-support-for-ov7670-camera.patch
@@ -0,0 +1,179 @@
+From f8a0559dfcd4e10bd5a668f97b25439d6ae7c674 Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23 at cam.ac.uk>
+Date: Sat, 4 Jul 2009 13:25:34 +0000
+Subject: [PATCH 03/10] IMote2: Add board support for ov7670 camera
+
+---
+ arch/arm/mach-pxa/imote2.c |  104 +++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 103 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/imote2.c b/arch/arm/mach-pxa/imote2.c
+index 2a4945d..ef90619 100644
+--- a/arch/arm/mach-pxa/imote2.c
++++ b/arch/arm/mach-pxa/imote2.c
+@@ -13,17 +13,21 @@
+ 
+ #include <linux/init.h>
+ #include <linux/device.h>
++#include <linux/delay.h>
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/partitions.h>
+ #include <linux/platform_device.h>
+ #include <linux/regulator/machine.h>
+ #include <linux/gpio.h>
++#include <linux/i2c-gpio.h> 
+ #include <linux/leds.h>
+ #include <linux/spi/spi.h>
+ #include <linux/i2c.h>
+ #include <linux/mfd/da903x.h>
+ #include <linux/sht15.h>
+ 
++#include <media/soc_camera.h>
++
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/map.h>
+@@ -35,10 +39,14 @@
+ #include <mach/mmc.h>
+ #include <mach/pxa2xx_spi.h>
+ #include <mach/pxa27x-udc.h>
++#include <mach/camera.h>
+ 
+ #include "devices.h"
+ #include "generic.h"
+ 
++#define IMB400_CAM_RESET 83
++#define IMB400_CAM_PWR 82
++
+ static unsigned long imote2_pin_config[] __initdata = {
+ 
+ 	/* Device Identification for wakeup*/
+@@ -72,7 +80,7 @@ static unsigned long imote2_pin_config[] __initdata = {
+ 	GPIO118_I2C_SDA,
+ 
+ 	/* SSP 3 - 802.15.4 radio */
+-	GPIO39_GPIO, 			/* Chip Select */
++	GPIO39_GPIO,			/* Chip Select */
+ 	GPIO34_SSP3_SCLK,
+ 	GPIO35_SSP3_TXD,
+ 	GPIO41_SSP3_RXD,
+@@ -115,8 +123,91 @@ static unsigned long imote2_pin_config[] __initdata = {
+ 	GPIO103_GPIO, /* red led */
+ 	GPIO104_GPIO, /* green led */
+ 	GPIO105_GPIO, /* blue led */
++
++
++	/* Camera board conections */
++	GPIO53_CIF_MCLK,
++	GPIO54_CIF_PCLK,
++	GPIO84_CIF_FV,
++	GPIO85_CIF_LV,
++	GPIO81_CIF_DD_0,
++	GPIO55_CIF_DD_1,
++	GPIO51_CIF_DD_2,
++	GPIO50_CIF_DD_3,
++	GPIO52_CIF_DD_4,
++	GPIO48_CIF_DD_5,
++	GPIO17_CIF_DD_6,
++	GPIO12_CIF_DD_7,
++	GPIO106_GPIO,   /* led */
++
++	GPIO83_GPIO,    /* camera reset */
++	GPIO82_GPIO,    /* camera power down */
++
++	/* Camera board gpio-i2c */
++	GPIO56_GPIO,    /* data */
++	GPIO57_GPIO,    /* clock */
++};
++
++static struct i2c_gpio_platform_data imb400_camera_i2c_pd = {
++	.sda_pin = 56,
++	.scl_pin = 57,
++	.udelay = 2,
++	.timeout = 40,
++	.scl_is_open_drain = 1,
++};
++
++static struct pxacamera_platform_data imb400_pxacamera_pd = {
++	.flags = PXA_CAMERA_MASTER | PXA_CAMERA_DATAWIDTH_8 |
++	PXA_CAMERA_PCLK_EN | PXA_CAMERA_MCLK_EN,
++	.mclk_10khz = 2400,
+ };
+ 
++static struct i2c_board_info imb400_i2c_board_info[] = {
++	{
++		I2C_BOARD_INFO("ov7670", 0x21),
++	},
++};
++
++static int imb400_cam_reset(struct device *dev)
++{
++	/* power down the chip */
++	gpio_set_value(IMB400_CAM_RESET, 1);
++	gpio_set_value(IMB400_CAM_PWR, 1);
++	mdelay(2);
++	/* power up the chip in reset mode */
++	gpio_set_value(IMB400_CAM_PWR, 0);
++	gpio_set_value(IMB400_CAM_RESET, 0);
++	mdelay(2);
++	/* back to normal mode and continue */
++	gpio_set_value(IMB400_CAM_RESET, 1);
++	mdelay(5);
++
++	return 0;
++};
++
++static struct soc_camera_link imb400_cam_link = {
++	.bus_id = 0,
++	.board_info = &imb400_i2c_board_info[0],
++	.reset = &imb400_cam_reset,
++	.i2c_adapter_id = 2,
++	.module_name = "ov7670",
++};
++
++static struct platform_device imb400_camera = {
++	.name = "soc-camera-pdrv",
++	.id = 0,
++	.dev = {
++		.platform_data = &imb400_cam_link,
++	},
++};
++
++static struct platform_device imb400_camera_i2c_device = {
++	.name = "i2c-gpio",
++	.id = 2,
++	.dev = {
++		.platform_data = &imb400_camera_i2c_pd,
++	},
++};
+ static struct sht15_platform_data platform_data_sht15 = {
+ 	.gpio_data =  100,
+ 	.gpio_sck  =  98,
+@@ -542,6 +633,8 @@ static struct platform_device *imote2_devices[] = {
+ 	&imote2_flash_device,
+ 	&imote2_leds,
+ 	&sht15,
++	&imb400_camera_i2c_device,
++	&imb400_camera,
+ };
+ 
+ static struct i2c_pxa_platform_data i2c_pwr_pdata = {
+@@ -578,6 +671,15 @@ static void __init imote2_init(void)
+ 
+ 	pxa_set_mci_info(&imote2_mci_platform_data);
+ 	pxa_set_udc_info(&imote2_udc_info);
++	
++	gpio_request(83, "ov7670 soc reset");
++	gpio_request(82, "ov7670 soc power");
++	/* reset high for normal mode */
++	gpio_direction_output(83, 1);
++	/* power down normal mode. */
++	gpio_direction_output(82, 0);
++
++	pxa_set_camera_info(&imb400_pxacamera_pd);
+ }
+ 
+ MACHINE_START(INTELMOTE2, "IMOTE 2")
+-- 
+1.6.3.3
+
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0004-Temporary-Fix-real-one-working-it-s-way-through-the-.patch b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0004-Temporary-Fix-real-one-working-it-s-way-through-the-.patch
new file mode 100644
index 0000000..4c29378
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0004-Temporary-Fix-real-one-working-it-s-way-through-the-.patch
@@ -0,0 +1,25 @@
+From e47ac77c494dc4e211a0ccee01b70019a2e68e6f Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23 at cam.ac.uk>
+Date: Sun, 25 Oct 2009 13:03:19 +0000
+Subject: [PATCH 04/10] Temporary Fix (real one working it's way through the arm tree)
+
+Signed-off-by: Jonathan Cameron <jic23 at cam.ac.uk>
+---
+ drivers/media/video/pxa_camera.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c
+index 6952e96..5d01dcf 100644
+--- a/drivers/media/video/pxa_camera.c
++++ b/drivers/media/video/pxa_camera.c
+@@ -26,6 +26,7 @@
+ #include <linux/device.h>
+ #include <linux/platform_device.h>
+ #include <linux/clk.h>
++#include <linux/sched.h>
+ 
+ #include <media/v4l2-common.h>
+ #include <media/v4l2-dev.h>
+-- 
+1.6.3.3
+
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0009-Temporary-rtc-driver-to-driver-IIO.-Uses-periodic-ti.patch b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0009-Temporary-rtc-driver-to-driver-IIO.-Uses-periodic-ti.patch
new file mode 100644
index 0000000..f69bef9
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0009-Temporary-rtc-driver-to-driver-IIO.-Uses-periodic-ti.patch
@@ -0,0 +1,461 @@
+From d7555c77f477c8582ad4c55487488627febe3215 Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23 at cam.ac.uk>
+Date: Sun, 25 Oct 2009 12:20:05 +0000
+Subject: [PATCH 09/10] Temporary rtc driver to driver IIO. Uses periodic timers of the pxa27x
+
+Signed-off-by: Jonathan Cameron <jic23 at cam.ac.uk>
+---
+ drivers/rtc/Kconfig      |   10 +
+ drivers/rtc/Makefile     |    1 +
+ drivers/rtc/rtc-pxa27x.c |  407 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 418 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
+index 3c20dae..c237ec9 100644
+--- a/drivers/rtc/Kconfig
++++ b/drivers/rtc/Kconfig
+@@ -746,6 +746,16 @@ config RTC_DRV_GENERIC
+ 	  RTC abstraction. If you do not know what you are doing, you should
+ 	  just say Y.
+ 
++config RTC_DRV_PXA27x
++	tristate "PXA27x"
++	depends on ARCH_PXA
++	help
++	  This driver is an oddity.  Fakes a set of rtc's using
++	  periodic timers on the pxa27x.
++
++	  To compile this driver as a module, choose M here: the
++	  module will be called rtc-pxa27x.
++
+ config RTC_DRV_PXA
+        tristate "PXA27x/PXA3xx"
+        depends on ARCH_PXA
+diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
+index aa3fbd5..18ee6f3 100644
+--- a/drivers/rtc/Makefile
++++ b/drivers/rtc/Makefile
+@@ -63,6 +63,7 @@ obj-$(CONFIG_RTC_DRV_PL030)	+= rtc-pl030.o
+ obj-$(CONFIG_RTC_DRV_PL031)	+= rtc-pl031.o
+ obj-$(CONFIG_RTC_DRV_PS3)	+= rtc-ps3.o
+ obj-$(CONFIG_RTC_DRV_PXA)	+= rtc-pxa.o
++obj-$(CONFIG_RTC_DRV_PXA27x)	+= rtc-pxa27x.o
+ obj-$(CONFIG_RTC_DRV_R9701)	+= rtc-r9701.o
+ obj-$(CONFIG_RTC_DRV_RS5C313)	+= rtc-rs5c313.o
+ obj-$(CONFIG_RTC_DRV_RS5C348)	+= rtc-rs5c348.o
+diff --git a/drivers/rtc/rtc-pxa27x.c b/drivers/rtc/rtc-pxa27x.c
+new file mode 100644
+index 0000000..e52f0f3
+--- /dev/null
++++ b/drivers/rtc/rtc-pxa27x.c
+@@ -0,0 +1,407 @@
++/*
++ * Real Time Clock interface for periodic timers on the XScale PXA27x
++ *
++ * Copyright (c) 2008 Jonathan Cameron
++ *
++ * Based on rtc-sa1100.c by Nils Faerber and others
++ * and rtc-cmos.c
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ *
++ * Uses the periodic functionality of operating system timers 5-11.
++ * OSC 4 is used to allow checking of whether an interrupt has been missed.
++ *
++ * Purpose of this driver is to make available 7 periodic timers for use
++ * by other drivers. In the fullness of time, this will be replaced by a
++ * more generic timers interface such as that described by David Brownell.
++ */
++
++#include <linux/platform_device.h>
++#include <linux/module.h>
++#include <linux/rtc.h>
++#include <linux/init.h>
++#include <linux/fs.h>
++#include <linux/interrupt.h>
++
++#include <mach/hardware.h>
++#include <mach/regs-ost.h>
++#include <mach/regs-rtc.h>
++
++
++/* FIXME - move to pxa headers - awaiting pxa tree clearing out
++ * as per request from RMK */
++
++#define OMCR_C				(1 << 7)
++/*Channel continues incrementing after detecting a match */
++#define OMCR_PERIODIC			(1 << 6)
++
++/* Reset OSCRx on rising edge of ext_sync 0 */
++#define OMCR_EXT_SYNC0			((0 << 5) | (1 << 4))
++#define OMCR_EXT_SYNC1			((1 << 5) | (0 << 4))
++#define OMCR_OSCR_RESET_ON_MATCH	(1 << 3)
++#define OMCR_FREQ_32768HZ		0x01
++#define OMCR_FREQ_1KHZ			0x02
++#define OMCR_FREQ_1HZ			0x03
++#define OMCR_FREQ_1MHZ			0x04
++#define OMCR_FREQ_EXT			0x05
++
++#define OIER_E(x) (1 << (x))
++#define OSSR_M(x) (1 << (x))
++
++/* Only applicable for x > 4 - generalize these?*/
++#define OSCRx(x) __REG2(0x40A00030, ((x) << 2))
++
++#define OMCRx(x) __REG2(0x40A000B0, ((x) << 2))
++
++#define OSMRx(x) __REG2(0x40A00070, ((x) << 2))
++
++/* Will contain more info at some stage in future */
++struct pxa27x_periodic_counter_info {
++	int num;
++};
++
++static const struct pxa27x_periodic_counter_info pxa27x_pcinfo[] = {
++	{
++		.num = 5,
++	}, {
++		.num = 6,
++	}, {
++		.num = 7,
++	}, {
++		.num = 8,
++	}, {
++		.num = 9,
++	}, {
++		.num = 10,
++	}, {
++		.num = 11,
++	},
++};
++
++#define PXA27X_IRQ_SET_STATE(_n)					\
++	static int pxa27x_irq_set_state_##_n(struct device *dev, int enabled) \
++	{								\
++		return pxa27x_irq_set_state_counted(dev, enabled, _n);	\
++	}
++
++#define PXA27X_IRQ_SET_FREQ(_n)						\
++	static int pxa27x_irq_set_freq_##_n(struct device *dev, int freq) \
++	{								\
++		return pxa27x_irq_set_freq_counted(dev, freq, _n);	\
++	}
++
++#define PXA27X_RTC_PROC(_n)						\
++	static int pxa27x_rtc_proc_##_n(struct device *dev,		\
++					struct seq_file *seq)		\
++	{								\
++		return pxa27x_rtc_proc_counted(dev, seq, _n);		\
++	}
++
++#define PXA27X_RTC_IOCTL(_n)						\
++	static int pxa27x_rtc_ioctl_##_n(struct device *dev, unsigned int cmd, \
++					 unsigned long arg) {		\
++		return pxa27x_rtc_ioctl_counted(dev, cmd, arg, _n);	\
++	}
++
++#define PXA27X_PERIODIC_RTC_FUNCS(_n)		\
++	PXA27X_IRQ_SET_STATE(_n);		\
++	PXA27X_RTC_PROC(_n);			\
++	PXA27X_RTC_IOCTL(_n);			\
++	PXA27X_IRQ_SET_FREQ(_n);		\
++	static const struct rtc_class_ops pxa27x_periodic_rtc_ops_##_n = { \
++		.ioctl = pxa27x_rtc_ioctl_##_n,				\
++		.proc = pxa27x_rtc_proc_##_n,				\
++		.irq_set_freq = pxa27x_irq_set_freq_##_n,		\
++		.irq_set_state = pxa27x_irq_set_state_##_n,		\
++	}
++
++#define PXA27X_RTC_PERIODIC_FREQ 32768
++
++#define PXA27X_NUM_PERIODIC_RTCS 7
++static unsigned long rtc_freq[PXA27X_NUM_PERIODIC_RTCS];
++static DEFINE_SPINLOCK(pxa27x_rtc_lock);
++
++static unsigned int last_int_time[PXA27X_NUM_PERIODIC_RTCS];
++
++/* Based on docs, it is possible that more than one interrupt can be generated
++ * before any are handled thus leading to this hander running more often than
++ * strictly necessary. Should still work despite this. Not yet observed in the
++ * wild.
++ */
++static irqreturn_t pxa27x_periodic_interrupt(int irq, void *dev_id)
++{
++	int i;
++	struct platform_device *pdev = to_platform_device(dev_id);
++	struct rtc_device **rtc = platform_get_drvdata(pdev);
++	int num_interrupts, period;
++	/* Must be longer than 32 bits!*/
++	unsigned int current_time = OSCRx(4);
++	int state = OSSR;
++
++	for (i = 0; i < PXA27X_NUM_PERIODIC_RTCS; i++)
++		if (state & OSSR_M(pxa27x_pcinfo[i].num)) {
++
++			period = (PXA27X_RTC_PERIODIC_FREQ/rtc_freq[i]);
++			num_interrupts = (current_time
++					  - last_int_time[i]) / period;
++			/*deal with wrap around in osc 4 */
++			if (current_time < last_int_time[i])
++				num_interrupts
++					= (0xFFFFFFFF - last_int_time[i]
++					   + current_time)/period;
++			last_int_time[i] = current_time;
++			rtc_update_irq(rtc[i],
++				       num_interrupts, RTC_PF | RTC_IRQF);
++			OSSR = OSSR_M(pxa27x_pcinfo[i].num); /* clear match */
++	}
++
++	return IRQ_HANDLED;
++}
++
++
++static int pxa27x_rtc_ioctl_counted(struct device *dev, unsigned int cmd,
++			    unsigned long arg, int id)
++{
++	switch (cmd) {
++	case RTC_PIE_OFF:
++		spin_lock_irq(&pxa27x_rtc_lock);
++		OIER &= ~OIER_E(pxa27x_pcinfo[id].num);
++		spin_unlock_irq(&pxa27x_rtc_lock);
++		return 0;
++
++	case RTC_PIE_ON:
++		spin_lock_irq(&pxa27x_rtc_lock);
++		OIER |= OIER_E(pxa27x_pcinfo[id].num);
++		OSMRx(pxa27x_pcinfo[id].num)
++			= PXA27X_RTC_PERIODIC_FREQ/rtc_freq[id];
++		last_int_time[id] = OSCRx(4);
++		OSCRx(pxa27x_pcinfo[id].num) = 0;
++		spin_unlock_irq(&pxa27x_rtc_lock);
++		return 0;
++
++	case RTC_IRQP_READ:
++		return put_user(rtc_freq[id], (unsigned long *)arg);
++
++	case RTC_IRQP_SET:
++		if (arg < 1 || arg > PXA27X_RTC_PERIODIC_FREQ)
++			return -EINVAL;
++		rtc_freq[id] = arg;
++		return 0;
++	}
++
++	return -ENOIOCTLCMD;
++}
++
++static int pxa27x_rtc_proc_counted(struct device *dev, struct seq_file *seq,
++				   int id)
++{
++	seq_printf(seq, "periodic_IRQ\t: %s\n",
++		   (OIER & OIER_E(pxa27x_pcinfo[id].num)) ? "yes" : "no");
++	seq_printf(seq, "periodic_freq\t: %ld\n", rtc_freq[id]);
++
++	return 0;
++}
++
++static int pxa27x_irq_set_freq_counted(struct device *dev, int freq, int id)
++{
++	unsigned long flags;
++
++	spin_lock_irqsave(&pxa27x_rtc_lock, flags);
++	rtc_freq[id] = freq;
++	spin_unlock_irqrestore(&pxa27x_rtc_lock, flags);
++
++	return 0;
++}
++
++/* How can this know which one it is refering to? */
++static int pxa27x_irq_set_state_counted(struct device *dev, int enabled, int id)
++{
++	unsigned long flags;
++
++	spin_lock_irqsave(&pxa27x_rtc_lock, flags);
++	if (enabled) {
++		/* Enable interrupt generation */
++		OIER |= OIER_E(pxa27x_pcinfo[id].num);
++		/* Set the match register */
++		/* FIXME - should not be hard coded!*/
++		OSMRx(pxa27x_pcinfo[id].num)
++			= PXA27X_RTC_PERIODIC_FREQ/rtc_freq[id];
++		/* Clear previous match */
++		/* Possible corner case - counter loops and hits the match again
++		 * before reset? - Very unlikely*/
++		OSSR = OSSR_M(pxa27x_pcinfo[id].num);
++		/* Start primary counter - used to detect missed interrupts */
++		last_int_time[id] = OSCRx(4);
++
++		/* Reset periodic counter */
++		OSCRx(pxa27x_pcinfo[id].num) = 0;
++		/* May have already missed the match? */
++	} else
++		OIER &= ~OIER_E(pxa27x_pcinfo[id].num);
++/* what if an interrupt triggers in here?*/
++	spin_unlock_irqrestore(&pxa27x_rtc_lock, flags);
++
++return 0;
++}
++
++PXA27X_PERIODIC_RTC_FUNCS(0);
++PXA27X_PERIODIC_RTC_FUNCS(1);
++PXA27X_PERIODIC_RTC_FUNCS(2);
++PXA27X_PERIODIC_RTC_FUNCS(3);
++PXA27X_PERIODIC_RTC_FUNCS(4);
++PXA27X_PERIODIC_RTC_FUNCS(5);
++PXA27X_PERIODIC_RTC_FUNCS(6);
++
++static int pxa27x_rtc_probe(struct platform_device *pdev)
++{
++	struct rtc_device **rtc;
++	int ret;
++	int i;
++
++	rtc = kzalloc(sizeof(struct rtc_device *)*PXA27X_NUM_PERIODIC_RTCS,
++		      GFP_KERNEL);
++	for (i = 0; i < PXA27X_NUM_PERIODIC_RTCS; i++)
++		last_int_time[i] = 0;
++
++	device_init_wakeup(&pdev->dev, 1);
++
++	/* Enable primary time counter - used to check for missed interrupts */
++	OMCRx(4) = OMCR_C | OMCR_FREQ_32768HZ | OMCR_PERIODIC;
++	OSCRx(4) = 0;
++	for (i = 0; i < PXA27X_NUM_PERIODIC_RTCS; i++)
++		OMCRx(pxa27x_pcinfo[i].num) = OMCR_C | OMCR_PERIODIC
++			| OMCR_OSCR_RESET_ON_MATCH | OMCR_FREQ_32768HZ;
++
++	rtc[0] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_0,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[0])) {
++		ret = PTR_ERR(rtc[0]);
++		goto error_free_rtc;
++	}
++
++	rtc[1] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_1,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[1])) {
++		ret = PTR_ERR(rtc[1]);
++		goto error_unreg_0;
++	}
++	rtc[2] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_2,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[2])) {
++		ret = PTR_ERR(rtc[2]);
++		goto error_unreg_1;
++	}
++	rtc[3] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_3,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[3])) {
++		ret = PTR_ERR(rtc[3]);
++		goto error_unreg_2;
++	}
++	rtc[4] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_4,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[4])) {
++		ret = PTR_ERR(rtc[4]);
++		goto error_unreg_3;
++	}
++	rtc[5] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_5,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[5])) {
++		ret = PTR_ERR(rtc[5]);
++		goto error_unreg_4;
++	}
++	rtc[6] = rtc_device_register(pdev->name,
++				     &pdev->dev, &pxa27x_periodic_rtc_ops_6,
++				     THIS_MODULE);
++	if (IS_ERR(rtc[6])) {
++		ret = PTR_ERR(rtc[6]);
++		goto error_unreg_5;
++	}
++
++	platform_set_drvdata(pdev, rtc);
++
++	/* Now configure the interrupt we are going to be using.*/
++	ret = request_irq(IRQ_OST_4_11, pxa27x_periodic_interrupt, 0,
++			  "px27x_periodic_timer", &pdev->dev);
++	if (ret) {
++		dev_err(&pdev->dev, "IRQ %d already in use.\n", IRQ_OST1);
++		goto error_unreg_6;
++	}
++
++	return 0;
++error_unreg_6:
++	rtc_device_unregister(rtc[6]);
++error_unreg_5:
++	rtc_device_unregister(rtc[5]);
++error_unreg_4:
++	rtc_device_unregister(rtc[4]);
++error_unreg_3:
++	rtc_device_unregister(rtc[3]);
++error_unreg_2:
++	rtc_device_unregister(rtc[2]);
++error_unreg_1:
++	rtc_device_unregister(rtc[1]);
++error_unreg_0:
++	rtc_device_unregister(rtc[0]);
++error_free_rtc:
++	kfree(rtc);
++	return ret;
++}
++
++static int pxa27x_rtc_remove(struct platform_device *pdev)
++{
++	struct rtc_device **rtc = platform_get_drvdata(pdev);
++	int i;
++	if (rtc)
++		for (i = 0; i < PXA27X_NUM_PERIODIC_RTCS; i++)
++			rtc_device_unregister(rtc[i]);
++
++	free_irq(IRQ_OST_4_11, &pdev->dev);
++	/* irq's all now being ignored.
++	 * Time to stop everything we might have started */
++
++	/* Clear RTC status register */
++	RTSR = 0;
++
++	/* Clear match for periodic counter */
++	OSSR = OSSR_M(5) | OSSR_M(6) | OSSR_M(7) | OSSR_M(8)
++		| OSSR_M(9) | OSSR_M(10) | OSSR_M(11);
++	kfree(rtc);
++
++	return 0;
++}
++
++
++static struct platform_driver pxa27x_rtc_driver = {
++	.probe		= pxa27x_rtc_probe,
++	.remove		= pxa27x_rtc_remove,
++	.driver		= {
++		.name		= "pxa27x-rtc",
++	},
++};
++
++static int __init pxa27x_rtc_init(void)
++{
++	return platform_driver_register(&pxa27x_rtc_driver);
++}
++
++static void __exit pxa27x_rtc_exit(void)
++{
++	platform_driver_unregister(&pxa27x_rtc_driver);
++}
++
++module_init(pxa27x_rtc_init);
++module_exit(pxa27x_rtc_exit);
++
++MODULE_AUTHOR("Jonathan Cameron <jic23 at cam.ac.uk>");
++MODULE_DESCRIPTION("PXA27x Supplementary Realtime Clock Driver (RTC)");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS("platform:pxa27x-rtc");
+-- 
+1.6.3.3
+
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0010-imote2-Add-board-support-form-periodic-rtc-pxa27x-an.patch b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0010-imote2-Add-board-support-form-periodic-rtc-pxa27x-an.patch
new file mode 100644
index 0000000..9cad163
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/0010-imote2-Add-board-support-form-periodic-rtc-pxa27x-an.patch
@@ -0,0 +1,53 @@
+From 71f1ee924304c596911da33c3d810f0cda527c51 Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23 at cam.ac.uk>
+Date: Sun, 25 Oct 2009 12:22:48 +0000
+Subject: [PATCH 10/10] imote2: Add board support form periodic rtc-pxa27x and register two to make them available to iio.
+
+---
+ arch/arm/mach-pxa/imote2.c |   23 +++++++++++++++++++++++
+ 1 files changed, 23 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/imote2.c b/arch/arm/mach-pxa/imote2.c
+index ef90619..3103632 100644
+--- a/arch/arm/mach-pxa/imote2.c
++++ b/arch/arm/mach-pxa/imote2.c
+@@ -257,6 +257,27 @@ static struct platform_device imote2_leds = {
+ 	},
+ };
+ 
++static const char *periodic_triggers[] = {
++	"rtc0",
++	"rtc1",
++	"",
++};
++
++
++static struct platform_device iio_prtc_triggers = {
++	.name = "iio_prtc_trigger",
++	.dev = {
++		.platform_data = &periodic_triggers,
++	},
++	.id = -1,
++};
++
++/* Note that the sa1100 driver is also going to be running */
++static struct platform_device pxa27x_device_rtc = {
++	.name		= "pxa27x-rtc",
++	.id		= -1,
++};
++
+ /* Reverse engineered partly from Platformx drivers */
+ enum imote2_ldos{
+ 	vcc_vref,
+@@ -635,6 +656,8 @@ static struct platform_device *imote2_devices[] = {
+ 	&sht15,
+ 	&imb400_camera_i2c_device,
+ 	&imb400_camera,
++	&pxa27x_device_rtc,
++	&iio_prtc_triggers,
+ };
+ 
+ static struct i2c_pxa_platform_data i2c_pwr_pdata = {
+-- 
+1.6.3.3
+
diff --git a/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/defconfig b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/defconfig
new file mode 100644
index 0000000..d93f28a
--- /dev/null
+++ b/recipes/linux/linux-2.6.31+2.6.32-rc6/imote2/defconfig
@@ -0,0 +1,1741 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.32-rc5
+# Sun Oct 25 13:39:46 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+# CONFIG_SYSVIPC is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBDAF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_PNX4008 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5PC1XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_BCMRING is not set
+
+#
+# Intel PXA2xx/PXA3xx Implementations
+#
+# CONFIG_ARCH_GUMSTIX is not set
+CONFIG_MACH_INTELMOTE2=y
+CONFIG_MACH_STARGATE2=y
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_MACH_MP900C is not set
+# CONFIG_MACH_BALLOON3 is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+# CONFIG_ARCH_VIPER is not set
+# CONFIG_ARCH_PXA_ESERIES is not set
+# CONFIG_TRIZEPS_PXA is not set
+# CONFIG_MACH_H5000 is not set
+# CONFIG_MACH_EM_X270 is not set
+# CONFIG_MACH_EXEDA is not set
+# CONFIG_MACH_COLIBRI is not set
+# CONFIG_MACH_COLIBRI300 is not set
+# CONFIG_MACH_COLIBRI320 is not set
+# CONFIG_MACH_ZYLONITE is not set
+# CONFIG_MACH_LITTLETON is not set
+# CONFIG_MACH_TAVOREVB is not set
+# CONFIG_MACH_SAAR is not set
+# CONFIG_MACH_ARMCORE is not set
+# CONFIG_MACH_CM_X300 is not set
+# CONFIG_MACH_H4700 is not set
+# CONFIG_MACH_MAGICIAN is not set
+# CONFIG_MACH_HIMALAYA is not set
+# CONFIG_MACH_MIOA701 is not set
+# CONFIG_MACH_PCM027 is not set
+# CONFIG_ARCH_PXA_PALM is not set
+# CONFIG_MACH_CSB726 is not set
+# CONFIG_PXA_EZX is not set
+# CONFIG_MACH_XCEP is not set
+CONFIG_PXA27x=y
+CONFIG_PXA_SSP=m
+CONFIG_PXA_HAVE_BOARD_IRQS=y
+CONFIG_PLAT_PXA=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+CONFIG_ARM_L1_CACHE_SHIFT=5
+CONFIG_IWMMXT=y
+CONFIG_XSCALE_PMU=y
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=m
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_HAVE_MLOCK=y
+CONFIG_HAVE_MLOCKED_PAGE_BIT=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS2,115200 mem=32M debug "
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEFAULT_PS_VALUE=1
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+# CONFIG_DEVTMPFS is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PXA2XX=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_AX88796 is not set
+CONFIG_SMC91X=m
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_PCMCIA_RAYCS is not set
+CONFIG_LIBERTAS=m
+# CONFIG_LIBERTAS_CS is not set
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+CONFIG_LIBERTAS_DEBUG=y
+# CONFIG_ATMEL is not set
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+# CONFIG_ATH_COMMON is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_HERMES is not set
+# CONFIG_IWM is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_NET_PCMCIA is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_R3964 is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_IPWIRELESS is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+CONFIG_I2C_GPIO=m
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_PXA2XX=m
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO expanders:
+#
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+CONFIG_GPIO_PCF857X=m
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=m
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+CONFIG_BATTERY_DA9030=m
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+CONFIG_SENSORS_LM75=m
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+CONFIG_SENSORS_SHT15=m
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+CONFIG_ALS=m
+# CONFIG_ALS_TSL2550 is not set
+# CONFIG_ALS_TSL2561 is not set
+# CONFIG_THERMAL is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+CONFIG_PMIC_DA903X=y
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13783 is not set
+# CONFIG_AB3100_CORE is not set
+# CONFIG_EZX_PCAP is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+CONFIG_REGULATOR_DA903X=y
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+# CONFIG_VIDEO_ALLOW_V4L1 is not set
+# CONFIG_VIDEO_V4L1_COMPAT is not set
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_CUSTOMISE=y
+# CONFIG_MEDIA_TUNER_SIMPLE is not set
+# CONFIG_MEDIA_TUNER_TDA8290 is not set
+# CONFIG_MEDIA_TUNER_TDA827X is not set
+# CONFIG_MEDIA_TUNER_TDA18271 is not set
+# CONFIG_MEDIA_TUNER_TDA9887 is not set
+# CONFIG_MEDIA_TUNER_TEA5761 is not set
+# CONFIG_MEDIA_TUNER_TEA5767 is not set
+# CONFIG_MEDIA_TUNER_MT20XX is not set
+# CONFIG_MEDIA_TUNER_MT2060 is not set
+# CONFIG_MEDIA_TUNER_MT2266 is not set
+# CONFIG_MEDIA_TUNER_MT2131 is not set
+# CONFIG_MEDIA_TUNER_QT1010 is not set
+# CONFIG_MEDIA_TUNER_XC2028 is not set
+# CONFIG_MEDIA_TUNER_XC5000 is not set
+CONFIG_MEDIA_TUNER_MXL5005S=m
+# CONFIG_MEDIA_TUNER_MXL5007T is not set
+# CONFIG_MEDIA_TUNER_MC44S803 is not set
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+# CONFIG_VIDEO_TVAUDIO is not set
+# CONFIG_VIDEO_TDA7432 is not set
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TDA9875 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS5345 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_M52790 is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_VP27SMPX is not set
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+CONFIG_VIDEO_OV7670=m
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_VPX3220 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_CX25840 is not set
+
+#
+# MPEG video encoders
+#
+# CONFIG_VIDEO_CX2341X is not set
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+CONFIG_SOC_CAMERA=m
+# CONFIG_SOC_CAMERA_MT9M001 is not set
+# CONFIG_SOC_CAMERA_MT9M111 is not set
+# CONFIG_SOC_CAMERA_MT9T031 is not set
+# CONFIG_SOC_CAMERA_MT9V022 is not set
+# CONFIG_SOC_CAMERA_TW9910 is not set
+# CONFIG_SOC_CAMERA_PLATFORM is not set
+# CONFIG_SOC_CAMERA_OV772X is not set
+CONFIG_VIDEO_PXA27x=m
+# CONFIG_VIDEO_SH_MOBILE_CEU is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_SOUND=m
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+CONFIG_SND_PXA2XX_LIB=m
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_PCMCIA is not set
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_I2S=m
+CONFIG_SND_PXA2XX_SOC_IMOTE2=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_WM8940=m
+# CONFIG_SOUND_PRIME is not set
+# CONFIG_HID_SUPPORT is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=y
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+# CONFIG_MMC_BLOCK is not set
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_PXA=m
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_AT91 is not set
+# CONFIG_MMC_ATMELMCI is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_PCA955X is not set
+CONFIG_LEDS_DA903X=m
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_BD2802 is not set
+
+#
+# LED Triggers
+#
+# CONFIG_LEDS_TRIGGERS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA27x=m
+CONFIG_RTC_DRV_PXA=m
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+
+#
+# TI VLYNQ
+#
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=y
+# CONFIG_DST is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_PLAN9AUTH is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+CONFIG_IIO=m
+CONFIG_IIO_RING_BUFFER=y
+CONFIG_IIO_SW_RING=m
+CONFIG_IIO_TRIGGER=y
+
+#
+# Accelerometers
+#
+CONFIG_KXSD9=m
+CONFIG_LIS3L02DQ=m
+CONFIG_SCA3000=m
+
+#
+# Analog to digital convertors
+#
+CONFIG_MAX1363=m
+
+#
+# Light sensors
+#
+CONFIG_TSL2561=m
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_ROOT_NFS is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARM_UNWIND=y
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=m
+CONFIG_CRYPTO_AEAD2=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=m
+CONFIG_CRYPTO_HASH2=m
+CONFIG_CRYPTO_RNG2=m
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=m
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC_T10DIF=m
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/linux_2.6.31+2.6.32-rc6.bb b/recipes/linux/linux_2.6.31+2.6.32-rc6.bb
new file mode 100644
index 0000000..31eda71
--- /dev/null
+++ b/recipes/linux/linux_2.6.31+2.6.32-rc6.bb
@@ -0,0 +1,28 @@
+require linux.inc
+
+KERNEL_RELEASE = "2.6.32-rc6"
+OLD_KERNEL_RELEASE = "2.6.31"
+PV = "${OLD_KERNEL_RELEASE}+${KERNEL_RELEASE}"
+PR = "r1"
+
+S = "${WORKDIR}/linux-${OLD_KERNEL_RELEASE}"
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+
+# Intel / Crossbow IMote2
+DEFAULT_PREFERENCE_imote2 = "1"
+
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${OLD_KERNEL_RELEASE}.tar.bz2 \
+           ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-${KERNEL_RELEASE}.bz2;patch=1 \
+           file://defconfig"
+
+SRC_URI_append_imote2 = " \
+	file://0001-Libertas_sdio-A-timing-issue-during-helper-firmware-.patch;patch=1 \
+	file://0002-ov7670-Temporary-soc-camera-support.patch;patch=1 \
+	file://0003-IMote2-Add-board-support-for-ov7670-camera.patch;patch=1 \
+	file://0004-Temporary-Fix-real-one-working-it-s-way-through-the-.patch;patch=1 \
+	file://0009-Temporary-rtc-driver-to-driver-IIO.-Uses-periodic-ti.patch;patch=1 \
+	file://0010-imote2-Add-board-support-form-periodic-rtc-pxa27x-an.patch;patch=1 \
+"
\ No newline at end of file
-- 
1.6.0.4





More information about the Openembedded-devel mailing list