[Armadeus-commitlog] armadeus branch, master, updated. latestrelease-36-g1a4ba59
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2009-08-18 13:05:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 1a4ba59c42d06baadfe2bfdfa77a2398b09f162f (commit)
via da64f58cebaf718913c74acd1ff3f1b2bea9ced2 (commit)
via af5f011aa9e8c81f9789d87f708d1debf9ff5ed4 (commit)
from ebb994f732edc03a9d6e657c4c994ba754a27864 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1a4ba59c42d06baadfe2bfdfa77a2398b09f162f
Author: Julien Boibessot <jul...@ar...>
Date: Tue Aug 18 15:04:47 2009 +0200
[LINUX] APF9328: separates module (APF9328) and baseboards (DevFull/Light or others) hardware declaration/init parts
commit da64f58cebaf718913c74acd1ff3f1b2bea9ced2
Author: Julien Boibessot <jul...@ar...>
Date: Tue Aug 18 14:06:59 2009 +0200
[LINUX] ISP1761: Gives correct init value to HW_MODE_REG register
commit af5f011aa9e8c81f9789d87f708d1debf9ff5ed4
Author: Julien Boibessot <jul...@ar...>
Date: Tue Aug 18 14:00:26 2009 +0200
[BUILD] Renames Buildroot patches and moves them to patches/buildroot/ (Part2)
-----------------------------------------------------------------------
Summary of changes:
Makefile | 11 +-
buildroot/local/apf9328_test/linux-2.6.29.4.config | 3 +-
.../armadeus/apf9328/apf9328-linux-2.6.29.config | 3 +-
.../2.6.29/021-armadeus-apf9328.patch | 612 +++++++++++---------
...s-apf9328-add_board_to_linux_build_system.patch | 40 +-
target/linux/modules/isp1761/hal/hal_imx.c | 2 +-
6 files changed, 384 insertions(+), 287 deletions(-)
diff --git a/Makefile b/Makefile
index 4696708..9f3fb9f 100644
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,8 @@ BUILDROOT_SOURCE:=buildroot-$(BUILDROOT_VERSION).tar.bz2
ARMADEUS_TOPDIR:=$(shell pwd)
export ARMADEUS_TOPDIR
-PATCH_DIR=patches
+PATCH_DIR = patches
+BUILDROOT_PATCH_DIR = patches/buildroot
TAR_OPTIONS=--exclude=.svn --exclude=.git -xf
ARMADEUS_ENV_FILE=armadeus_env.sh
@@ -79,7 +80,7 @@ help:
@echo ' source-check - check all packages for valid download URLs'
@echo
@echo 'See www.armadeus.org for further armadeus details'
- @echo 'See /buildroot/docs/README and /buildroot/docs/buildroot.html'
+ @echo 'See ./buildroot/docs/README and ./buildroot/docs/buildroot.html'
@echo ' for further buildroot details'
@echo
@@ -91,12 +92,12 @@ $(BUILDROOT_FILE_PATH)/$(BUILDROOT_SOURCE):
mkdir -p $(BUILDROOT_FILE_PATH)
wget --passive-ftp -P $(BUILDROOT_FILE_PATH) $(BUILDROOT_SITE)/$(BUILDROOT_SOURCE)
-$(BUILDROOT_DIR)/.unpacked: $(BUILDROOT_FILE_PATH)/$(BUILDROOT_SOURCE) $(PATCH_DIR)/*.diff
+$(BUILDROOT_DIR)/.unpacked: $(BUILDROOT_FILE_PATH)/$(BUILDROOT_SOURCE) $(BUILDROOT_PATCH_DIR)/*.patch
bzcat $(BUILDROOT_FILE_PATH)/$(BUILDROOT_SOURCE) | \
tar -C $(BUILDROOT_DIR)/.. $(TAR_OPTIONS) -
- $(BUILDROOT_DIR)/toolchain/patch-kernel.sh $(BUILDROOT_DIR) $(PATCH_DIR) \*.diff
+ $(BUILDROOT_DIR)/toolchain/patch-kernel.sh $(BUILDROOT_DIR) $(BUILDROOT_PATCH_DIR) \*.patch
# Since patches may add/delete packages, we process extra packages after patching
- perl $(PATCH_DIR)/add_packages_config_entry.pl buildroot=$(BUILDROOT_DIR)
+ perl $(BUILDROOT_PATCH_DIR)/add_packages_config_entry.pl buildroot=$(BUILDROOT_DIR)
touch $@
$(BUILDROOT_DIR)/.configured: $(BUILDROOT_DIR)/.unpacked
diff --git a/buildroot/local/apf9328_test/linux-2.6.29.4.config b/buildroot/local/apf9328_test/linux-2.6.29.4.config
index 60c7c43..851d210 100644
--- a/buildroot/local/apf9328_test/linux-2.6.29.4.config
+++ b/buildroot/local/apf9328_test/linux-2.6.29.4.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29.4
-# Wed Jul 15 16:24:34 2009
+# Tue Aug 18 11:52:19 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -169,6 +169,7 @@ CONFIG_MACH_APF9328=y
CONFIG_MACH_APF9328_FPGA=y
# CONFIG_IMX_APF9328_FLASH_8MB is not set
CONFIG_IMX_APF9328_FLASH_16MB=y
+CONFIG_MACH_APF9328_DEV=y
#
# Processor Type
diff --git a/buildroot/target/device/armadeus/apf9328/apf9328-linux-2.6.29.config b/buildroot/target/device/armadeus/apf9328/apf9328-linux-2.6.29.config
index 5249054..210606a 100644
--- a/buildroot/target/device/armadeus/apf9328/apf9328-linux-2.6.29.config
+++ b/buildroot/target/device/armadeus/apf9328/apf9328-linux-2.6.29.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29.4
-# Wed Jul 15 16:24:34 2009
+# Tue Aug 18 11:52:19 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -169,6 +169,7 @@ CONFIG_MACH_APF9328=y
CONFIG_MACH_APF9328_FPGA=y
# CONFIG_IMX_APF9328_FLASH_8MB is not set
CONFIG_IMX_APF9328_FLASH_16MB=y
+CONFIG_MACH_APF9328_DEV=y
#
# Processor Type
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch
index df3fc35..0afb8fb 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/021-armadeus-apf9328.patch
@@ -4,8 +4,8 @@ DON'T EDIT IT OR YOUR MODIFICATIONS WILL BE LOST
Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.4/arch/arm/mach-imx/apf9328.c 2009-07-15 17:16:18.000000000 +0200
-@@ -0,0 +1,848 @@
++++ linux-2.6.29.4/arch/arm/mach-imx/apf9328.c 2009-08-18 13:53:44.000000000 +0200
+@@ -0,0 +1,635 @@
+/*
+ * linux/arch/arm/mach-imx/apf9328.c
+ *
@@ -34,8 +34,6 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#include <linux/interrupt.h>
+#include <linux/serial_8250.h>
+#include <linux/spi/spi.h>
-+#include <linux/spi/tsc2102.h>
-+#include "../../../drivers/net/can/mcp251x.h"
+
+#include <asm/system.h>
+#include <mach/hardware.h>
@@ -51,10 +49,9 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#include <mach/usb.h>
+#include <mach/spi_imx.h>
+#include <mach/imx-regs.h> /* imx_gpio_mode() */
-+#include <mach/imx-alsa.h>
+#include <linux/spi/max1027.h>
-+#include <linux/usb/isp116x.h>
+#include <mach/imx_ssi.h>
++#include <mach/dma.h>
+#include "../../../drivers/armadeus/pwm/pwm.h"
+#ifdef CONFIG_DM9000
+#include <linux/dm9000.h>
@@ -62,7 +59,7 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#ifdef CONFIG_MACH_APF9328_FPGA
+#include "../plat-mxc/include/mach/fpga.h" /* To be removed when MX1 arch is fully integrated */
+#endif
-+
++#include <mach/imxfb.h>
+#include "generic.h"
+
+#ifdef CONFIG_ARMADEUS_MAX1027_MODULE
@@ -71,81 +68,20 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#ifdef CONFIG_SPI_IMX_MODULE
+#define CONFIG_SPI_IMX 1
+#endif
-+#ifdef CONFIG_SPI_TSC2102_MODULE
-+#define CONFIG_SPI_TSC2102 1
-+#endif
-+#ifdef CONFIG_CAN_MCP251X_MODULE
-+#define CONFIG_CAN_MCP251X 1
++#ifdef CONFIG_SND_IMX_PCM_MODULE
++#define CONFIG_SND_IMX_PCM 1
+#endif
+#ifdef CONFIG_IMX_BACKLIGHT_MODULE
+#define CONFIG_IMX_BACKLIGHT 1
+#endif
-+#ifdef CONFIG_ARMADEUS_ISP1761_MODULE
-+#define CONFIG_ARMADEUS_ISP1761 1
-+#endif
+#ifdef CONFIG_ARMADEUS_PWM_DRIVER_MODULE
+#define CONFIG_PWM
+#endif
+
+
-+/* --- ISP1761 */
-+#ifdef CONFIG_ARMADEUS_ISP1761
-+
-+static void apf_isp116x_delay(struct device *dev, int delay)
-+{
-+ /* On this platform, we work with 200MHz clock, giving
-+ 5 ns per instruction. The cycle below involves 2
-+ instructions and we lose 2 more instruction times due
-+ to pipeline flush at jump. I.e., we consume 20 ns
-+ per cycle.
-+ */
-+ int cyc = delay / 20;
-+
-+ __asm__ volatile ("0:\n"
-+ " subs %0, %1, #1\n"
-+ " bge 0b\n"
-+ :"=r" (cyc)
-+ :"0"(cyc));
-+}
-+
-+static struct isp116x_platform_data isp116x_pdata = {
-+ .sel15Kres = 1,
-+ .oc_enable = 1,
-+ .int_act_high = 0,
-+ .int_edge_triggered = 1,
-+ .remote_wakeup_enable = 1,
-+ .delay = apf_isp116x_delay,
-+};
-+
-+static struct resource devfull_isp1761_resources[] = {
-+ [0] = {
-+ .name = "isp1761-regs",
-+ .start = ISP1761_BASE + 0x00000000,
-+ .end = ISP1761_BASE + 0x000fffff,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = ISP1761_IRQ,
-+ .end = ISP1761_IRQ,
-+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
-+ },
-+};
-+
-+static struct platform_device devfull_isp1761_device = {
-+ .name = "isp1761",
-+ .id = 0,
-+ .num_resources = ARRAY_SIZE(devfull_isp1761_resources),
-+ .resource = devfull_isp1761_resources,
-+ .dev = { .platform_data = &isp116x_pdata, },
-+};
-+
-+/*static struct platform_device *devfull_isp1761_devices[] = {
-+ &devfull_isp1761_device,
-+};*/
-+
-+#endif
-+
-+/* --- ETHERNET RESSOURCE --- */
++/*
++ * APF9328 has a DM9000 Ethernet controller
++ */
+#ifdef CONFIG_DM9000
+static struct resource dm9000_resources[] = {
+ [0] = {
@@ -221,9 +157,10 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ .platform_data = &apf9328_pwm_0_data,
+ }
+};
-+
+#endif /* CONFIG_PWM */
+
++
++#ifdef CONFIG_USB_GADGET_IMX
+static int apf9328_udc_0_init(struct device * dev)
+{
+ imx_gpio_mode(PC3_PF_SSI_RXFS);
@@ -248,10 +185,10 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ .init = apf9328_udc_0_init,
+ .exit = apf9328_udc_0_exit,
+};
++#endif /* CONFIG_USB_GADGET_IMX */
+
+
-+
-+#if defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE)
++#if defined(CONFIG_SND_IMX_PCM) || defined(CONFIG_SND_IMX_PCM_MODULE)
+int apf9328_ssi_gpio_init(struct platform_device *pdev)
+{
+ /* Activate SSI on PortC */
@@ -325,16 +262,7 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ }
+};
+
-+static struct imx_sound_platform_data apf9328_alsa_pdata;
-+
-+static struct platform_device tsc2102_alsa_device = {
-+ .name = "tsc210x-alsa",
-+ .id = 0,
-+ .dev = {
-+ .platform_data = &apf9328_alsa_pdata,
-+ }
-+};
-+#endif /* defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE) */
++#endif /* defined(CONFIG_SND_IMX_PCM) || defined(CONFIG_SND_IMX_PCM_MODULE) */
+
+
+/* --- SERIAL RESSOURCE --- */
@@ -463,10 +391,11 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ .platform_data = &imx_spi2_master_info,
+ },
+};
-+
+#endif /* CONFIG_SPI_IMX */
+
-+
++/*
++ * APF9328 can have an optionnal MAX1027 ADC
++ */
+#ifdef CONFIG_ARMADEUS_MAX1027
+#define IMX_SPI1_SS_PIN 15
+#define IMX_SPI1_SS (1<<15)
@@ -475,20 +404,21 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+
+static int max1027_init(struct spi_device *spi)
+{
-+ imx_gpio_mode( PC14_PF_SPI1_SCLK );
-+ imx_gpio_mode( PC16_PF_SPI1_MISO );
-+ imx_gpio_mode( PC17_PF_SPI1_MOSI );
++ /* SPI1 GPIOs */
++ imx_gpio_mode(PC14_PF_SPI1_SCLK);
++ imx_gpio_mode(PC16_PF_SPI1_MISO);
++ imx_gpio_mode(PC17_PF_SPI1_MOSI);
+
+ /* configure CNVST */
+ DR(0) |= 1 << MAX1027_CNVST; /* Initializes it High */
-+ imx_gpio_mode( GPIO_PORTA | MAX1027_CNVST | GPIO_OUT | GPIO_GIUS | GPIO_DR );
++ imx_gpio_mode(GPIO_PORTA | MAX1027_CNVST | GPIO_OUT | GPIO_GIUS | GPIO_DR);
+
+ /* configure EOC */
-+ imx_gpio_mode( GPIO_PORTA | MAX1027_EOC_INT | GPIO_IN | GPIO_GIUS );
++ imx_gpio_mode(GPIO_PORTA | MAX1027_EOC_INT | GPIO_IN | GPIO_GIUS);
+
+ /* SPI CSn is used as chip select but in GPIO mode */
+ DR(2) |= IMX_SPI1_SS;
-+ imx_gpio_mode( GPIO_PORTC | IMX_SPI1_SS_PIN | GPIO_OUT | GPIO_GIUS | GPIO_DR );
++ imx_gpio_mode(GPIO_PORTC | IMX_SPI1_SS_PIN | GPIO_OUT | GPIO_GIUS | GPIO_DR);
+
+ return 0;
+}
@@ -518,106 +448,9 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ .init = max1027_init,
+ .exit = max1027_exit
+};
-+
+#endif /* CONFIG_ARMADEUS_MAX1027 */
+
+
-+#ifdef CONFIG_SPI_TSC2102
-+#define TSC2102_CS_GPIOB 17
-+#define TSC2102_INT_GPIOD 8
-+
-+static int tsc2102_init_gpio(void)
-+{
-+ /* Activate SPI2 port ---- */
-+ /* PortB 17 is used as chip select (in GPIO mode) */
-+ DR(1) |= 1 << TSC2102_CS_GPIOB; /* Initializes it High */
-+ imx_gpio_mode( GPIO_PORTB | TSC2102_CS_GPIOB | GPIO_OUT | GPIO_GIUS | GPIO_DR );
-+ /* Configure SPI2 outputs */
-+ imx_gpio_mode( PD7_AIN_SPI2_SCLK );
-+ imx_gpio_mode( PD10_AIN_SPI2_TXD );
-+ imx_gpio_mode( PD9_AOUT_SPI2_RXD );
-+ FMCR |= SPI2_RXD_SEL; /* RX is AOUT on PORTD */
-+
-+ /* PortD 8 is used as PINTDAV interrupt */
-+ imx_gpio_mode( GPIO_PORTD | TSC2102_INT_GPIOD | GPIO_IN | GPIO_GIUS );
-+ /*imx_gpio_irq_type( IRQ_GPIOD(8), __IRQT_FALEDGE );*/
-+
-+ printk("TSC2102 GPIOs initialized\n");
-+ return 0;
-+}
-+
-+/* Chip select command for TSC2102 */
-+static void tsc2102_cs(u32 command)
-+{
-+ /* PortB 19 is used as chip select */
-+ if( command == SPI_CS_DEASSERT )
-+ DR(1) |= 1<< TSC2102_CS_GPIOB;
-+ else
-+ DR(1) &= ~(1<< TSC2102_CS_GPIOB);
-+}
-+
-+static struct spi_imx_chip tsc2102_hw = {
-+ .cs_control = tsc2102_cs,
-+};
-+
-+static struct tsc210x_config apf9328_tsc2102_config = {
-+ .use_internal = 1, /* -> use internal voltage reference */
-+ .monitor = TSC_BAT1 | TSC_AUX | TSC_TEMP,
-+ .init = tsc2102_init_gpio,
-+/* .apm_report = palmte_get_power_status,*/
-+/*#if defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE)
-+ .alsa_config = &apf9328_alsa_pdata,
-+#endif*/
-+};
-+
-+#endif /* CONFIG_SPI_TSC2102 */
-+
-+
-+#ifdef CONFIG_CAN_MCP251X
-+#define CAN_MPC251X_CS_GPIOB 19
-+#define CAN_MPC251X_INT_GPIOC 13
-+
-+/* Chip select command for MCP251X */
-+static void mcp251X_cs(u32 command)
-+{
-+ /* PortB 19 is used as chip select */
-+ if (command == SPI_CS_DEASSERT)
-+ DR(1) |= 1<< CAN_MPC251X_CS_GPIOB;
-+ else
-+ DR(1) &= ~(1<< CAN_MPC251X_CS_GPIOB);
-+}
-+
-+static struct spi_imx_chip mcp251X_hw = {
-+ .cs_control = mcp251X_cs,
-+};
-+
-+static void mcp251X_init_gpio(void)
-+{
-+ /* Activate SPI2 port ---- */
-+ /* PortB 19 is used as chip select (in GPIO mode) */
-+ DR(1) |= 1 << CAN_MPC251X_CS_GPIOB; /* Initializes it High */
-+ imx_gpio_mode( GPIO_PORTB | CAN_MPC251X_CS_GPIOB | GPIO_OUT | GPIO_GIUS | GPIO_DR );
-+
-+ /* PortC 13 is used as CAN interrupt */
-+ imx_gpio_mode( GPIO_PORTC | CAN_MPC251X_INT_GPIOC | GPIO_IN | GPIO_GIUS );
-+
-+ /* Configure SPI2 outputs */
-+ imx_gpio_mode( PD7_AIN_SPI2_SCLK );
-+ imx_gpio_mode( PD10_AIN_SPI2_TXD );
-+ imx_gpio_mode( PD9_AOUT_SPI2_RXD );
-+ FMCR |= SPI2_RXD_SEL; /* RX is AOUT on PORTD */
-+}
-+
-+static struct mcp251x_platform_data apf9328_mcp251x_config = {
-+ .oscillator_frequency = 16000000,
-+ .board_specific_setup = NULL,
-+ .device_reset = NULL,
-+ .transceiver_enable = NULL,
-+};
-+
-+#endif /* CONFIG_CAN_MCP251X */
-+
-+
+static struct spi_board_info spi_board_info[] __initdata = {
+#ifdef CONFIG_ARMADEUS_MAX1027
+{
@@ -631,39 +464,8 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ .platform_data = &apf9328_max1027_config,
+},
+#endif
-+#ifdef CONFIG_SPI_TSC2102
-+{
-+ .modalias = "tsc210x",
-+ .controller_data= &tsc2102_hw,
-+ .max_speed_hz = 8000000,
-+ .bus_num = 2, /* SPI2 */
-+ .irq = IRQ_GPIOD(TSC2102_INT_GPIOD),
-+ .chip_select = 0,
-+ .mode = 0,
-+ .platform_data = &apf9328_tsc2102_config,
-+},
-+#endif
-+#ifdef CONFIG_CAN_MCP251X
-+{
-+ .modalias = "mcp251x",
-+ .max_speed_hz = 8000000, /* 8MHz */
-+ .controller_data= &mcp251X_hw,
-+ .bus_num = 2,
-+ .mode = SPI_MODE_0,
-+ .chip_select = 1,
-+ .irq = IRQ_GPIOC( CAN_MPC251X_INT_GPIOC ),
-+ .platform_data = &apf9328_mcp251x_config,
-+},
-+#endif
+};
+
-+/* --- LCD RESSOURCE --- */
-+#ifdef CONFIG_FB_IMX
-+/* all custom LCD configuration is deported to this file for clarity purpose: */
-+#include "apf9328_lcd_config.h"
-+#define IMX_FB_PHYS (0x0C000000 - 0x40000)
-+#endif
-+
+#ifdef CONFIG_IMX_BACKLIGHT
+static struct imxbl_machinfo imx_bl_machinfo = {
+ .max_intensity = 0xff,
@@ -683,7 +485,7 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#endif /* CONFIG_IMX_BACKLIGHT */
+
+/*
-+ * The APF9328 can have up to 32MB NOR
++ * The APF9328 can have up to 32MB NOR Flash
+ */
+static struct resource flash_resource = {
+ .start = IMX_CS0_PHYS,
@@ -705,6 +507,10 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ .num_resources = 1,
+};
+
++/*
++ * The APF9328 can have an optionnal Xilinx's Spartan3 FPGA
++ * directly connected to its address/data busses
++ */
+#ifdef CONFIG_MACH_APF9328_FPGA
+static int apf9328_fpga_irq_init(struct platform_device *pdev)
+{
@@ -750,13 +556,9 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#ifdef CONFIG_IMX_BACKLIGHT
+ &imxbl_device,
+#endif
-+#if defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE)
-+ &tsc2102_alsa_device,
++#if defined(CONFIG_SND_IMX_PCM) || defined(CONFIG_SND_IMX_PCM_MODULE)
+ &apf9328_ssi_device,
+#endif
-+#ifdef CONFIG_ARMADEUS_ISP1761
-+ &devfull_isp1761_device,
-+#endif
+ &apf9328_flash_device,
+#ifdef CONFIG_MACH_APF9328_FPGA
+ &apf9328_ocore_irq_mng_device,
@@ -767,34 +569,24 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+{
+ printk("--- Registering APF9328 ressources\n");
+
-+ /* Serial */
++ /* Initializes serial port 1/console GPIOs */
+ imx_gpio_mode(PC9_PF_UART1_CTS);
+ imx_gpio_mode(PC10_PF_UART1_RTS);
+ imx_gpio_mode(PC11_PF_UART1_TXD);
+ imx_gpio_mode(PC12_PF_UART1_RXD);
+
-+ imx_gpio_mode( PB30_PF_UART2_TXD );
-+ imx_gpio_mode( PB31_PF_UART2_RXD );
-+ imx_gpio_mode( PB28_PF_UART2_CTS );
-+ imx_gpio_mode( PB29_PF_UART2_RTS );
-+
-+#ifdef CONFIG_FB_IMX /* LCD */
-+ set_imx_fb_info(&apf9328_fb_info);
-+#endif
-+#ifdef CONFIG_CAN_MCP251X
-+ mcp251X_init_gpio();
-+#endif
-+#ifdef CONFIG_ARMADEUS_ISP1761
-+ imx_gpio_mode( ISP1761_GPIO_IRQ | GPIO_IN | GPIO_GIUS ); /* Set up IRQ line. */
-+#endif
++#ifdef CONFIG_USB_GADGET_IMX
+ set_imx_usb_info(&apf9328_udc_0_data);
++#endif
+
+ platform_add_devices(devices, ARRAY_SIZE(devices));
+
-+#if defined (CONFIG_ARMADEUS_MAX1027) || defined (CONFIG_SPI_TSC2102) || defined (CONFIG_CAN_MCP251X)
++#if defined (CONFIG_ARMADEUS_MAX1027)
+ spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
+#endif
+
++ apf9328_baseboard_init();
++
+ printk("--- APF9328 ressources registered\n");
+}
+
@@ -802,6 +594,10 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+ * Register here the memory addresses we want to access from our drivers and
+ * which are not already registered in generic.c
+ */
++#ifdef CONFIG_FB_IMX
++#define IMX_FB_PHYS (0x0C000000 - 0x40000)
++#endif
++
+static struct map_desc apf9328_io_desc[] __initdata = {
+#ifdef CONFIG_FB_IMX
+ {
@@ -832,15 +628,6 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
+#ifdef CONFIG_DM9000
+ set_irq_type(APF9328_ETH_IRQ, IRQF_TRIGGER_FALLING);
+#endif
-+#ifdef CONFIG_SPI_TSC2102
-+ set_irq_type( IRQ_GPIOD(TSC2102_INT_GPIOD), IRQF_TRIGGER_FALLING );
-+#endif
-+#ifdef CONFIG_CAN_MCP251X
-+ set_irq_type( IRQ_GPIOC(CAN_MPC251X_INT_GPIOC), IRQF_TRIGGER_FALLING );
-+#endif
-+#ifdef CONFIG_ARMADEUS_ISP1761
-+ set_irq_type( ISP1761_IRQ, IRQF_TRIGGER_FALLING );
-+#endif
+}
+
+
@@ -857,7 +644,7 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328.c
Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328_lcd_config.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.4/arch/arm/mach-imx/apf9328_lcd_config.h 2009-07-15 16:23:52.000000000 +0200
++++ linux-2.6.29.4/arch/arm/mach-imx/apf9328_lcd_config.h 2009-08-17 11:04:40.000000000 +0200
@@ -0,0 +1,301 @@
+/*
+ *
@@ -1163,8 +950,8 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328_lcd_config.h
Index: linux-2.6.29.4/arch/arm/mach-imx/include/mach/apf9328.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.4/arch/arm/mach-imx/include/mach/apf9328.h 2009-07-15 16:23:52.000000000 +0200
-@@ -0,0 +1,63 @@
++++ linux-2.6.29.4/arch/arm/mach-imx/include/mach/apf9328.h 2009-08-18 13:55:07.000000000 +0200
+@@ -0,0 +1,68 @@
+/*
+ * linux/include/asm-arm/arch-imx/apf9328.h
+ *
@@ -1193,12 +980,12 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/include/mach/apf9328.h
+/* Memory Map for the APF9328 Board */
+/* ------------------------------------------------------------------------ */
+
-+// Ethernet
++/* Ethernet */
+#define APF9328_ETH_VIRT ( IMX_CS4_VIRT + 0x00C00000 )
+#define APF9328_ETH_PHYS ( IMX_CS4_PHYS + 0x00C00000 )
+#define APF9328_ETH_IRQ ( IRQ_GPIOB(14) )
+
-+// FLASH
++/* FLASH */
+#define APF9328_FLASH_PHYS IMX_CS0_PHYS
+#ifdef CONFIG_IMX_APF9328_FLASH_8MB
+# define APF9328_FLASH_SIZE 0x00800000
@@ -1208,10 +995,7 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/include/mach/apf9328.h
+#endif
+#define APF9328_FLASH_BASE IMX_CS0_VIRT
+
-+// RAM
-+// Usefull ?
-+
-+// FPGA
++/* FPGA */
+#define ARMADEUS_FPGA_BASE_ADDR_VIRT ( APF9328_FPGA_VIRT )
+#define ARMADEUS_FPGA_BASE_ADDR_PHYS ( APF9328_FPGA_PHYS )
+#define ARMADEUS_FPGA_IRQ ( APF9328_FPGA_IRQ )
@@ -1222,9 +1006,303 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/include/mach/apf9328.h
+
+#define CLK32 32768
+
-+// USB HOST ISP1760: option available with APF_devfull
-+#define ISP1761_BASE IMX_CS3_PHYS
-+#define ISP1761_GPIO_IRQ ( GPIO_PORTC | 10 )
-+#define ISP1761_IRQ ( IRQ_GPIOC(10) )
++#ifndef __ASSEMBLY__
++/*
++ * The APF9328 module needs a baseboard to work. After basic initializing
++ * its own devices, it calls baseboard's init function.
++ * TODO: Add your own baseboard init function and call it from
++ * inside apf9328_init().
++ *
++ * This example here is for the DevLight/Full development boards. Refer apf9328-dev.c.
++ */
++
++extern void apf9328_baseboard_init(void);
++#endif
++
++#endif /* __ASM_ARCH_APF9328_H */
+Index: linux-2.6.29.4/arch/arm/mach-imx/apf9328-dev.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29.4/arch/arm/mach-imx/apf9328-dev.c 2009-08-18 13:56:55.000000000 +0200
+@@ -0,0 +1,281 @@
++/*
++ * linux/arch/arm/mach-imx/apf9328-dev.c
++ * Declares hardware present on APF9328_DevLight or DevFull boards
++ *
++ * Copyright (c) 2009 Armadeus systems
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ */
++
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/mtd/physmap.h>
++#include <linux/init.h>
++#include <linux/interrupt.h>
++#include <linux/spi/spi.h>
++#include <linux/spi/tsc2102.h>
++#include "../../../drivers/net/can/mcp251x.h"
++
++#include <asm/system.h>
++#include <mach/hardware.h>
++#include <linux/irq.h>
++#include <asm/pgtable.h>
++#include <asm/page.h>
++
++#include <asm/mach/map.h>
++#include <asm/mach-types.h>
++#include <asm/mach/arch.h>
++#include <mach/imx-uart.h>
++#include <mach/mmc.h>
++#include <mach/usb.h>
++#include <mach/spi_imx.h>
++#include <mach/imx-regs.h> /* imx_gpio_mode() */
++#include <mach/imx-alsa.h>
++#include <linux/usb/isp116x.h>
++#include <mach/imx_ssi.h>
++
++#include "generic.h"
++
++
++#ifdef CONFIG_SPI_TSC2102_MODULE
++#define CONFIG_SPI_TSC2102 1
++#endif
++#ifdef CONFIG_CAN_MCP251X_MODULE
++#define CONFIG_CAN_MCP251X 1
++#endif
++#ifdef CONFIG_ARMADEUS_ISP1761_MODULE
++#define CONFIG_ARMADEUS_ISP1761 1
++#endif
++
++
++/*
++ * APF9328_DevFull board has an ISP1761 USB Host controller
++ */
++#ifdef CONFIG_ARMADEUS_ISP1761
++#define ISP1761_BASE IMX_CS3_PHYS
++#define ISP1761_GPIO_IRQ (GPIO_PORTC | 10)
++#define ISP1761_IRQ (IRQ_GPIOC(10))
++
++static struct resource devfull_isp1761_resources[] = {
++ [0] = {
++ .name = "isp1761-regs",
++ .start = ISP1761_BASE + 0x00000000,
++ .end = ISP1761_BASE + 0x000fffff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = ISP1761_IRQ,
++ .end = ISP1761_IRQ,
++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
++ },
++};
++
++static struct platform_device devfull_isp1761_device = {
++ .name = "isp1761",
++ .id = 0,
++ .num_resources = ARRAY_SIZE(devfull_isp1761_resources),
++ .resource = devfull_isp1761_resources,
++};
++#endif /* CONFIG_ARMADEUS_ISP1761 */
++
++
++/*
++ * APF9328_DevFull board has a TSC2102 for touchscreens control
++ * and sound playing
++ */
++#ifdef CONFIG_SPI_TSC2102
++#define TSC2102_CS_GPIOB 17
++#define TSC2102_INT_GPIOD 8
++
++static int tsc2102_init_gpio(void)
++{
++ /* Activate SPI2 port ---- */
++ /* PortB 17 is used as chip select (in GPIO mode) */
++ DR(1) |= 1 << TSC2102_CS_GPIOB; /* Initializes it High */
++ imx_gpio_mode(GPIO_PORTB | TSC2102_CS_GPIOB | GPIO_OUT | GPIO_GIUS | GPIO_DR);
++ /* Configure SPI2 outputs */
++ imx_gpio_mode(PD7_AIN_SPI2_SCLK);
++ imx_gpio_mode(PD10_AIN_SPI2_TXD);
++ imx_gpio_mode(PD9_AOUT_SPI2_RXD);
++ FMCR |= SPI2_RXD_SEL; /* RX is AOUT on PORTD */
++
++ /* PortD 8 is used as PINTDAV interrupt */
++ set_irq_type(IRQ_GPIOD(TSC2102_INT_GPIOD), IRQF_TRIGGER_FALLING);
++ imx_gpio_mode(GPIO_PORTD | TSC2102_INT_GPIOD | GPIO_IN | GPIO_GIUS);
++
++ printk("TSC2102 GPIOs initialized\n");
++ return 0;
++}
++
++/* Chip select command for TSC2102 */
++static void tsc2102_cs(u32 command)
++{
++ /* PortB 19 is used as chip select */
++ if (command == SPI_CS_DEASSERT)
++ DR(1) |= 1<< TSC2102_CS_GPIOB;
++ else
++ DR(1) &= ~(1<< TSC2102_CS_GPIOB);
++}
++
++static struct spi_imx_chip tsc2102_hw = {
++ .cs_control = tsc2102_cs,
++};
++
++static struct tsc210x_config apf9328_tsc2102_config = {
++ .use_internal = 1, /* -> use internal voltage reference */
++ .monitor = TSC_BAT1 | TSC_AUX | TSC_TEMP,
++ .init = tsc2102_init_gpio,
++/* .apm_report = palmte_get_power_status,*/
++/*#if defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE)
++ .alsa_config = &apf9328_alsa_pdata,
++#endif*/
++};
++
++#if defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE)
++static struct imx_sound_platform_data apf9328_alsa_pdata;
++
++static struct platform_device tsc2102_alsa_device = {
++ .name = "tsc210x-alsa",
++ .id = 0,
++ .dev = {
++ .platform_data = &apf9328_alsa_pdata,
++ }
++};
++#endif /* defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE) */
++
++#endif /* CONFIG_SPI_TSC2102 */
++
++/*
++ * APF9328_DevFull board has a MCP251X CAN bus Host controller
++ */
++#ifdef CONFIG_CAN_MCP251X
++#define CAN_MPC251X_CS_GPIOB 19
++#define CAN_MPC251X_INT_GPIOC 13
++
++/* Chip select command for MCP251X */
++static void mcp251X_cs(u32 command)
++{
++ /* PortB 19 is used as chip select */
++ if (command == SPI_CS_DEASSERT)
++ DR(1) |= 1<< CAN_MPC251X_CS_GPIOB;
++ else
++ DR(1) &= ~(1<< CAN_MPC251X_CS_GPIOB);
++}
++
++static struct spi_imx_chip mcp251X_hw = {
++ .cs_control = mcp251X_cs,
++};
++
++static void mcp251X_init_gpio(void)
++{
++ /* PortB 19 is used as chip select (in GPIO mode) */
++ DR(1) |= 1 << CAN_MPC251X_CS_GPIOB; /* Initializes it High */
++ imx_gpio_mode(GPIO_PORTB | CAN_MPC251X_CS_GPIOB | GPIO_OUT | GPIO_GIUS | GPIO_DR);
++
++ /* PortC 13 is used as CAN interrupt */
++ set_irq_type(IRQ_GPIOC(CAN_MPC251X_INT_GPIOC), IRQF_TRIGGER_FALLING);
++ imx_gpio_mode(GPIO_PORTC | CAN_MPC251X_INT_GPIOC | GPIO_IN | GPIO_GIUS);
++
++ /* Configure SPI2 outputs */
++ imx_gpio_mode(PD7_AIN_SPI2_SCLK);
++ imx_gpio_mode(PD10_AIN_SPI2_TXD);
++ imx_gpio_mode(PD9_AOUT_SPI2_RXD);
++ FMCR |= SPI2_RXD_SEL; /* RX is AOUT on PORTD */
++}
++
++static struct mcp251x_platform_data apf9328_mcp251x_config = {
++ .oscillator_frequency = 16000000,
++ .board_specific_setup = NULL,
++ .device_reset = NULL,
++ .transceiver_enable = NULL,
++};
++
++#endif /* CONFIG_CAN_MCP251X */
++
++
++static struct spi_board_info spi_dev_board_info[] __initdata = {
++#ifdef CONFIG_SPI_TSC2102
++{
++ .modalias = "tsc210x",
++ .controller_data= &tsc2102_hw,
++ .max_speed_hz = 8000000,
++ .bus_num = 2, /* SPI2 */
++ .irq = IRQ_GPIOD(TSC2102_INT_GPIOD),
++ .chip_select = 0,
++ .mode = 0,
++ .platform_data = &apf9328_tsc2102_config,
++},
++#endif
++#ifdef CONFIG_CAN_MCP251X
++{
++ .modalias = "mcp251x",
++ .max_speed_hz = 8000000, /* 8MHz */
++ .controller_data= &mcp251X_hw,
++ .bus_num = 2,
++ .mode = SPI_MODE_0,
++ .chip_select = 1,
++ .irq = IRQ_GPIOC( CAN_MPC251X_INT_GPIOC ),
++ .platform_data = &apf9328_mcp251x_config,
++},
++#endif
++};
++
++/*
++ * You may connect several types of LCD on these boards
++ */
++#ifdef CONFIG_FB_IMX
++/* all custom LCD configuration is deported to this file for clarity purpose: */
++#include "apf9328_lcd_config.h"
++#endif
++
++
++static struct platform_device *devices[] __initdata = {
++#if defined(CONFIG_SND_IMX_TSC2102) || defined(CONFIG_SND_IMX_TSC2102_MODULE)
++ &tsc2102_alsa_device,
++#endif
++#ifdef CONFIG_ARMADEUS_ISP1761
++ &devfull_isp1761_device,
++#endif
++};
++
++void __init apf9328_baseboard_init(void)
++{
++ printk(" Registering APF9328_Dev ressources:");
++
++ /* Initializes serial port 2 GPIOs */
++ imx_gpio_mode(PB30_PF_UART2_TXD);
++ imx_gpio_mode(PB31_PF_UART2_RXD);
++ imx_gpio_mode(PB28_PF_UART2_CTS);
++ imx_gpio_mode(PB29_PF_UART2_RTS);
++
++#ifdef CONFIG_FB_IMX
++ set_imx_fb_info(&apf9328_fb_info);
++#endif
++#ifdef CONFIG_CAN_MCP251X
++ mcp251X_init_gpio();
++#endif
++#ifdef CONFIG_ARMADEUS_ISP1761
++ set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING);
++ imx_gpio_mode(ISP1761_GPIO_IRQ | GPIO_IN | GPIO_GIUS);
++#endif
++ platform_add_devices(devices, ARRAY_SIZE(devices));
++
++#if defined (CONFIG_SPI_TSC2102) || defined (CONFIG_CAN_MCP251X)
++ spi_register_board_info(spi_dev_board_info, ARRAY_SIZE(spi_dev_board_info));
++#endif
++
++ printk(" done\n");
++}
+
-+#endif // __ASM_ARCH_APF9328_H
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/024-armadeus-apf9328-add_board_to_linux_build_system.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/024-armadeus-apf9328-add_board_to_linux_build_system.patch
index b30c433..9423226 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/024-armadeus-apf9328-add_board_to_linux_build_system.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/024-armadeus-apf9328-add_board_to_linux_build_system.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.29.4/arch/arm/mach-imx/include/mach/hardware.h
===================================================================
---- linux-2.6.29.4.orig/arch/arm/mach-imx/include/mach/hardware.h 2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29.4/arch/arm/mach-imx/include/mach/hardware.h 2009-06-08 18:45:55.000000000 +0200
+--- linux-2.6.29.4.orig/arch/arm/mach-imx/include/mach/hardware.h 2009-08-17 11:42:37.000000000 +0200
++++ linux-2.6.29.4/arch/arm/mach-imx/include/mach/hardware.h 2009-08-17 18:12:58.000000000 +0200
@@ -88,4 +88,8 @@
#include "mx1ads.h"
#endif
@@ -13,8 +13,8 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/include/mach/hardware.h
#endif
Index: linux-2.6.29.4/arch/arm/mach-imx/Kconfig
===================================================================
---- linux-2.6.29.4.orig/arch/arm/mach-imx/Kconfig 2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29.4/arch/arm/mach-imx/Kconfig 2009-06-08 18:46:34.000000000 +0200
+--- linux-2.6.29.4.orig/arch/arm/mach-imx/Kconfig 2009-08-17 11:42:37.000000000 +0200
++++ linux-2.6.29.4/arch/arm/mach-imx/Kconfig 2009-08-17 18:04:06.000000000 +0200
@@ -1,6 +1,10 @@
menu "IMX Implementations"
depends on ARCH_IMX
@@ -26,7 +26,7 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/Kconfig
config ARCH_MX1ADS
bool "mx1ads"
depends on ARCH_IMX
-@@ -8,4 +12,31 @@
+@@ -8,4 +12,46 @@
help
Say Y here if you are using the Motorola MX1ADS board
@@ -39,13 +39,13 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/Kconfig
+endchoice
+
+config MACH_APF9328_FPGA
-+ bool "board has a FPGA"
++ bool "Board has a FPGA"
+ depends on MACH_APF9328
+ help
+ Select this if your APF9328 has an onboard FPGA
+
+choice
-+ prompt "APF9328 Flash available"
++ prompt "Flash available on board"
+ depends on MACH_APF9328
+ default IMX_APF9328_FLASH_16MB
+
@@ -57,23 +57,39 @@ Index: linux-2.6.29.4/arch/arm/mach-imx/Kconfig
+
+endchoice
+
++choice
++ prompt "Baseboard"
++ depends on MACH_APF9328
++ default MACH_APF9328_DEV
++
++config MACH_APF9328_DEV
++ prompt "DevLight/DevFull"
++ bool
++ help
++ This selects the APF9328_DevLight/DevFull as baseboard. You have
++ to manually activates the devices you want to use if you have a
++ DevFull.
++
++endchoice
++
endmenu
Index: linux-2.6.29.4/arch/arm/mach-imx/Makefile
===================================================================
---- linux-2.6.29.4.orig/arch/arm/mach-imx/Makefile 2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29.4/arch/arm/mach-imx/Makefile 2009-06-08 18:35:27.000000000 +0200
-@@ -10,6 +10,7 @@
+--- linux-2.6.29.4.orig/arch/arm/mach-imx/Makefile 2009-08-17 11:42:37.000000000 +0200
++++ linux-2.6.29.4/arch/arm/mach-imx/Makefile 2009-08-17 17:48:11.000000000 +0200
+@@ -10,6 +10,8 @@
# Specific board support
obj-$(CONFIG_ARCH_MX1ADS) += mx1ads.o
+obj-$(CONFIG_MACH_APF9328) += apf9328.o
++obj-$(CONFIG_MACH_APF9328_DEV) += apf9328-dev.o
# Support for blinky lights
led-y := leds.o
Index: linux-2.6.29.4/arch/arm/mach-imx/Makefile.boot
===================================================================
---- linux-2.6.29.4.orig/arch/arm/mach-imx/Makefile.boot 2009-03-24 00:12:14.000000000 +0100
-+++ linux-2.6.29.4/arch/arm/mach-imx/Makefile.boot 2009-06-08 18:35:27.000000000 +0200
+--- linux-2.6.29.4.orig/arch/arm/mach-imx/Makefile.boot 2009-08-17 11:42:37.000000000 +0200
++++ linux-2.6.29.4/arch/arm/mach-imx/Makefile.boot 2009-08-17 15:02:39.000000000 +0200
@@ -1,2 +1,3 @@
zreladdr-$(CONFIG_ARCH_MX1ADS) := 0x08008000
+ zreladdr-$(CONFIG_MACH_APF9328) := 0x08008000
diff --git a/target/linux/modules/isp1761/hal/hal_imx.c b/target/linux/modules/isp1761/hal/hal_imx.c
index 53abf6c..754267c 100644
--- a/target/linux/modules/isp1761/hal/hal_imx.c
+++ b/target/linux/modules/isp1761/hal/hal_imx.c
@@ -830,7 +830,7 @@ isp1761_probe (struct platform_device *pdev)
*/
#if 1 // CUSTOM STUFF - 16-bit mode
- isp1761_reg_write32(loc_dev, HC_HW_MODE_REG, 2);
+ isp1761_reg_write32(loc_dev, HC_HW_MODE_REG, 0x82);
#endif
loc_dev = &(isp1761_loc_dev[ISP1761_HC]);
hooks/post-receive
--
armadeus
|