[Armadeus-commitlog] SF.net SVN: armadeus:[1297] trunk/buildroot/target/device/armadeus/linux/ kern
Brought to you by:
sszy
|
From: <ar...@us...> - 2009-05-22 16:53:01
|
Revision: 1297
http://armadeus.svn.sourceforge.net/armadeus/?rev=1297&view=rev
Author: artemys
Date: 2009-05-22 16:52:56 +0000 (Fri, 22 May 2009)
Log Message:
-----------
[LINUX] Merges latest 2.6.27 patches modifs with 2.6.29 ones
Modified Paths:
--------------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/226-apf27-pengu-mx27-Camera_support.patch
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/291-apf27-armadeus-add_mach_board-apf27_h.patch
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/322-apf27-armadeus-add_mach_fpga_h.patch
Added Paths:
-----------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/323-apf27-armadeus-increases_board_irq_number.patch
Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/226-apf27-pengu-mx27-Camera_support.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/226-apf27-pengu-mx27-Camera_support.patch 2009-05-22 14:07:43 UTC (rev 1296)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/226-apf27-pengu-mx27-Camera_support.patch 2009-05-22 16:52:56 UTC (rev 1297)
@@ -1,7 +1,7 @@
From: Sascha Hauer <s....@pe...>
-Date: Tue, 9 Sep 2008 09:33:11 +0000 (+0200)
+Date: Fri, 19 Dec 2008 13:32:25 +0000 (+0100)
Subject: i.MX27 Camera support
-X-Git-Url: http://pasiphae.extern.pengutronix.de/?p=imx%2Flinux-2.6.git;a=commitdiff_plain;h=dd2a1c355ff4e4f4da4bfd9c2083d402b4015a01
+X-Git-Url: http://pasiphae.extern.pengutronix.de/?p=imx%2Flinux-2.6.git;a=commitdiff_plain;h=df7a35c4c07f0be0d4592ce85f5fdc3b0a281898
i.MX27 Camera support
@@ -15,16 +15,20 @@
- use single dma transfers for camera instead of sg lists
- implement emma support: No scaling or color space conversion
support yet, only pure streaming to get rid of the dma engine
+20081017:
+- fix direction of pixel clock
+20081103:
+- implement setting of packing direction from platform
Signed-off-by: Sascha Hauer <s....@pe...>
---
diff --git a/arch/arm/plat-mxc/include/mach/imx_cam.h b/arch/arm/plat-mxc/include/mach/imx_cam.h
new file mode 100644
-index 0000000..7d002f4
+index 0000000..2d704ae
--- /dev/null
+++ b/arch/arm/plat-mxc/include/mach/imx_cam.h
-@@ -0,0 +1,46 @@
+@@ -0,0 +1,47 @@
+/*
+ imx-cam.h - i.MX27 camera driver header file
+
@@ -57,6 +61,7 @@
+#define MX27_CAMERA_GATED_CLOCK (1 << 5)
+#define MX27_CAMERA_INV_DATA (1 << 6)
+#define MX27_CAMERA_PCLK_SAMPLE_RISING (1 << 7)
++#define MX27_CAMERA_PACK_DIR_MSB (1 << 8)
+
+struct mx27_camera_platform_data {
+ int (*init)(struct platform_device *);
@@ -72,13 +77,13 @@
+#endif /* __ASM_ARCH_CAMERA_H_ */
+
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
-index 3e9e0dc..281aaa7 100644
+index 47102c2..645d805 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
-@@ -974,4 +974,12 @@ config VIDEO_SH_MOBILE_CEU
- ---help---
- This is a v4l2 driver for the SuperH Mobile CEU Interface
+@@ -893,4 +893,12 @@ config USB_S2255
+ endif # V4L_USB_DRIVERS
+
+config VIDEO_MX27
+ tristate "i.MX27 Quick Capture Interface driver"
+ depends on VIDEO_DEV && MACH_MX27
@@ -89,10 +94,10 @@
+
endif # VIDEO_CAPTURE_DRIVERS
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
-index ef7c8d3..51a661e 100644
+index 16962f3..5f59ea9 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
-@@ -134,6 +134,7 @@ obj-$(CONFIG_VIDEO_VIVI) += vivi.o
+@@ -128,6 +128,7 @@ obj-$(CONFIG_VIDEO_VIVI) += vivi.o
obj-$(CONFIG_VIDEO_CX23885) += cx23885/
obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o
@@ -102,10 +107,10 @@
obj-$(CONFIG_SOC_CAMERA_MT9M001) += mt9m001.o
diff --git a/drivers/media/video/mx27_camera.c b/drivers/media/video/mx27_camera.c
new file mode 100644
-index 0000000..52d5a81
+index 0000000..b61dec1
--- /dev/null
+++ b/drivers/media/video/mx27_camera.c
-@@ -0,0 +1,1183 @@
+@@ -0,0 +1,1185 @@
+/*
+ * V4L2 Driver for MX27 camera host
+ *
@@ -395,7 +400,7 @@
+ csicr1 = CSICR1_MCLKDIV(mclk_get_divisor(pcdev)) |
+ CSICR1_MCLKEN;
+ if (mx27_camera_emma(pcdev)) {
-+ csicr1 |=CSICR1_PRP_IF_EN | CSICR1_SWAP16_EN | CSICR1_FCC |
++ csicr1 |= CSICR1_PRP_IF_EN | CSICR1_FCC |
+ CSICR1_RXFF_LEVEL(0);
+ } else
+ csicr1 |= CSICR1_SOF_INTEN | CSICR1_RXFF_LEVEL(2);
@@ -711,7 +716,7 @@
+ if (ret < 0)
+ return ret;
+
-+ if (common_flags & SOCAM_PCLK_SAMPLE_RISING)
++ if (common_flags & SOCAM_PCLK_SAMPLE_FALLING)
+ csicr1 |= CSICR1_INV_PCLK;
+ if (common_flags & SOCAM_HSYNC_ACTIVE_HIGH)
+ csicr1 |= CSICR1_HSYNC_POL;
@@ -727,6 +732,8 @@
+ csicr1 |= CSICR1_GCLK_MODE;
+ if (pcdev->platform_flags & MX27_CAMERA_INV_DATA)
+ csicr1 |= CSICR1_INV_DATA;
++ if (pcdev->platform_flags & MX27_CAMERA_PACK_DIR_MSB)
++ csicr1 |= CSICR1_PACK_DIR;
+
+ if (mx27_camera_emma(pcdev)) {
+ int bytesperline = (icd->width * icd->current_fmt->depth) >> 3;
Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch 2009-05-22 14:07:43 UTC (rev 1296)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch 2009-05-22 16:52:56 UTC (rev 1297)
@@ -5,7 +5,7 @@
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.29/arch/arm/mach-mx2/apf27.c 2009-04-14 17:57:01.000000000 +0200
-@@ -0,0 +1,1531 @@
+@@ -0,0 +1,1560 @@
+ /*
+ * apf27.c
+ *
@@ -890,7 +890,7 @@
+ temp |= 0x02; /* reset controller */
+ writel(temp, IO_ADDRESS(OTG_BASE_ADDR) + 0x140);
+ pr_debug("reset controller: 0x%08x\n", temp);
-+ mdelay(10);
++ mdelay(50);
+
+ if (ret)
+ mxc_gpio_release_multiple_pins(mxc_usbotg_pins,
@@ -1442,6 +1442,32 @@
+};
+
+
++/* FPGA */
++#ifdef CONFIG_ARMADEUS_FPGA_DRIVERS
++static int fpga_pins[] = {
++ (APF27_FPGA_INT_PIN | GPIO_IN | GPIO_GPIO),
++};
++
++static int apf27_fpga_init(void)
++{
++ int res;
++
++ res = mxc_gpio_setup_multiple(fpga_pins, ARRAY_SIZE(fpga_pins), "FPGA");
++ if (!res)
++ set_irq_type(APF27_FPGA_IRQ, IRQF_TRIGGER_RISING);
++
++ return res;
++}
++# if 0
++static int apf27_fpga_exit(void)
++{
++ mxc_gpio_release_multiple(fpga_pins, ARRAY_SIZE(fpga_pins));
++ return 0;
++}
++# endif
++#endif /* CONFIG_ARMADEUS_FPGA_DRIVERS */
++
++
+static void __init apf27_init(void)
+{
+ sysdev_class_register(&apf27_pm_sysclass);
@@ -1498,6 +1524,9 @@
+#ifdef CONFIG_VIDEO_MX27
+ mxc_register_device(&mx27_camera_device, &apf27_camera);
+#endif
++#ifdef CONFIG_ARMADEUS_FPGA_DRIVERS
++ apf27_fpga_init();
++#endif
+
+ printk("i.MX27 chip revision: %d\n", mx27_revision() );
+}
Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/291-apf27-armadeus-add_mach_board-apf27_h.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/291-apf27-armadeus-add_mach_board-apf27_h.patch 2009-05-22 14:07:43 UTC (rev 1296)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/291-apf27-armadeus-add_mach_board-apf27_h.patch 2009-05-22 16:52:56 UTC (rev 1297)
@@ -2,7 +2,7 @@
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.29/arch/arm/plat-mxc/include/mach/board-apf27.h 2009-04-14 18:34:53.000000000 +0200
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2008 Armadeus Systems
+ *
@@ -38,11 +38,13 @@
+/* FPGA addresses */
+#define APF27_FPGA_VIRT (CS5_BASE_ADDR_VIRT)
+#define APF27_FPGA_PHYS (CS5_BASE_ADDR)
-+#define APF27_FPGA_IRQ (IRQ_GPIOF(12))
-+
+#define ARMADEUS_FPGA_BASE_ADDR_VIRT (APF27_FPGA_VIRT)
+#define ARMADEUS_FPGA_BASE_ADDR_PHYS (APF27_FPGA_PHYS)
-+#define ARMADEUS_FPGA_IRQ (APF27_FPGA_IRQ)
+
++/* FPGA IRQ */
++#define APF27_FPGA_INT_PIN (GPIO_PORTF | 12)
++#define APF27_FPGA_IRQ (IRQ_GPIOF(APF27_FPGA_INT_PIN))
++#define ARMADEUS_FPGA_IRQ (APF27_FPGA_IRQ)
+
++
+#endif /* __ASM_ARCH_MXC_BOARD_APF27_H__ */
Modified: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/322-apf27-armadeus-add_mach_fpga_h.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/322-apf27-armadeus-add_mach_fpga_h.patch 2009-05-22 14:07:43 UTC (rev 1296)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/322-apf27-armadeus-add_mach_fpga_h.patch 2009-05-22 16:52:56 UTC (rev 1297)
@@ -1,8 +1,8 @@
Index: linux-2.6.29/arch/arm/plat-mxc/include/mach/fpga.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29/arch/arm/plat-mxc/include/mach/fpga.h 2009-04-14 19:04:28.000000000 +0200
-@@ -0,0 +1,37 @@
++++ linux-2.6.29/arch/arm/plat-mxc/include/mach/fpga.h 2009-05-22 18:24:02.000000000 +0200
+@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2009 Armadeus Systems
+ *
@@ -26,17 +26,18 @@
+
+
+#ifdef CONFIG_MACH_APF27
-+#include <mach/board-apf27.h>
++#include <mach/board-apf27.h> /* @ are here */
++#include <mach/irqs.h>
+#else
+/* To complete when MX1 platform merged */
+#endif
+
+/* FPGA interrupts number */
+#ifdef CONFIG_MACH_APF27
-+#define IRQ_FPGA_START (IRQ_GPIOF(32) + 1)
++#define IRQ_FPGA_START (MXC_BOARD_IRQ_START)
+#endif
+#define IRQ_FPGA(x) (IRQ_FPGA_START + x)
++#define NR_IRQS_FPGA (MXC_BOARD_IRQS)
+
-+
+#endif /* __ASM_ARCH_ARMADEUS_FPGA_H__ */
+
Added: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/323-apf27-armadeus-increases_board_irq_number.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/323-apf27-armadeus-increases_board_irq_number.patch (rev 0)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/323-apf27-armadeus-increases_board_irq_number.patch 2009-05-22 16:52:56 UTC (rev 1297)
@@ -0,0 +1,25 @@
+Increases board reserved interrupts to 32. This is needed for the APF27
+FPGA.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.29/arch/arm/plat-mxc/include/mach/irqs.h
+===================================================================
+--- linux-2.6.29.orig/arch/arm/plat-mxc/include/mach/irqs.h 2009-05-22 18:19:00.000000000 +0200
++++ linux-2.6.29/arch/arm/plat-mxc/include/mach/irqs.h 2009-05-22 18:19:37.000000000 +0200
+@@ -27,13 +27,13 @@
+ #endif
+
+ /*
+- * The next 16 interrupts are for board specific purposes. Since
++ * The next 32 interrupts are for board specific purposes. Since
+ * the kernel can only run on one machine at a time, we can re-use
+ * these. If you need more, increase MXC_BOARD_IRQS, but keep it
+ * within sensible limits.
+ */
+ #define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + MXC_GPIO_IRQS)
+-#define MXC_BOARD_IRQS 16
++#define MXC_BOARD_IRQS 32
+
+ #define MXC_IPU_IRQ_START (MXC_BOARD_IRQ_START + MXC_BOARD_IRQS)
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|