[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.3-542-g66e06fa
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2014-12-31 10:07:20
|
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 66e06fa23ae694907cc39335e1c55f7ece383f13 (commit)
via e601a22cd8dfd8726fb0be5bb7cb86619220553c (commit)
from a23d3d7447a54f957b5feab1da6957e5ba1d491b (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 66e06fa23ae694907cc39335e1c55f7ece383f13
Author: Julien Boibessot <jul...@ar...>
Date: Wed Dec 31 10:56:52 2014 +0100
[LINUX] apf6: move to kernel 3.18.1
commit e601a22cd8dfd8726fb0be5bb7cb86619220553c
Author: Julien Boibessot <jul...@ar...>
Date: Wed Dec 31 10:44:44 2014 +0100
[LINUX] apf6: fixes build of kernel 3.19-rc2
-----------------------------------------------------------------------
Summary of changes:
buildroot/configs/apf6_defconfig | 2 +-
.../device/armadeus/apf6/apf6-linux-3.18.1.config | 1 +
.../armadeus/apf6/apf6-linux-3.19-rc2.config | 1 +
...c-core-Update-ext_csd-if-touched-by-ioctl.patch | 56 +++---
...00-gpu-ipu-v3-Add-Video-Deinterlacer-unit.patch | 125 +++++++-------
...Add-new-camera-interface-driver-for-i.MX6.patch | 141 +++++++--------
...ia-imx6-Add-support-for-MIPI-CSI-2-OV5640.patch | 41 ++---
...edia-imx6-Add-support-for-Parallel-OV5642.patch | 37 ++--
...mx6-Add-support-for-ADV7180-Video-Decoder.patch | 35 ++--
...imx6-camera-Add-VDIC-deinterlacing-subdev.patch | 187 ++++++++++----------
...v7_defconfig-Enable-staging-video4linux-d.patch | 20 +--
11 files changed, 309 insertions(+), 337 deletions(-)
create mode 120000 buildroot/target/device/armadeus/apf6/apf6-linux-3.18.1.config
create mode 120000 buildroot/target/device/armadeus/apf6/apf6-linux-3.19-rc2.config
diff --git a/buildroot/configs/apf6_defconfig b/buildroot/configs/apf6_defconfig
index 4ec3d30..2a1d966 100644
--- a/buildroot/configs/apf6_defconfig
+++ b/buildroot/configs/apf6_defconfig
@@ -23,7 +23,7 @@ BR2_TARGET_ARMADEUS_NR_SDRAM="2"
BR2_TARGET_ARMADEUS_SDRAM_SIZE="512"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18.1"
BR2_LINUX_KERNEL_PATCH="../patches/linux/$(BR2_LINUX_KERNEL_VERSION)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX_KERNEL_VERSION).config"
diff --git a/buildroot/target/device/armadeus/apf6/apf6-linux-3.18.1.config b/buildroot/target/device/armadeus/apf6/apf6-linux-3.18.1.config
new file mode 120000
index 0000000..f26aa9b
--- /dev/null
+++ b/buildroot/target/device/armadeus/apf6/apf6-linux-3.18.1.config
@@ -0,0 +1 @@
+apf6-linux-3.18.config
\ No newline at end of file
diff --git a/buildroot/target/device/armadeus/apf6/apf6-linux-3.19-rc2.config b/buildroot/target/device/armadeus/apf6/apf6-linux-3.19-rc2.config
new file mode 120000
index 0000000..a5203ff
--- /dev/null
+++ b/buildroot/target/device/armadeus/apf6/apf6-linux-3.19-rc2.config
@@ -0,0 +1 @@
+apf6-linux-3.19.config
\ No newline at end of file
diff --git a/patches/linux/3.19/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch b/patches/linux/3.19/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch
index 6ceeb97..511e363 100644
--- a/patches/linux/3.19/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch
+++ b/patches/linux/3.19/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch
@@ -55,11 +55,11 @@ How can this be done better/cleaner?
drivers/mmc/core/mmc.c | 26 ++++++++++++++++++++++----
2 files changed, 36 insertions(+), 4 deletions(-)
-diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
-index 1a3163f..0a4bd62 100644
---- a/drivers/mmc/card/block.c
-+++ b/drivers/mmc/card/block.c
-@@ -132,6 +132,8 @@ enum {
+Index: linux-3.19-rc2/drivers/mmc/card/block.c
+===================================================================
+--- linux-3.19-rc2.orig/drivers/mmc/card/block.c 2014-12-30 15:49:05.976292142 +0100
++++ linux-3.19-rc2/drivers/mmc/card/block.c 2014-12-30 16:08:59.000000000 +0100
+@@ -135,6 +135,8 @@
module_param(perdev_minors, int, 0444);
MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device");
@@ -68,7 +68,7 @@ index 1a3163f..0a4bd62 100644
static inline int mmc_blk_part_switch(struct mmc_card *card,
struct mmc_blk_data *md);
static int get_card_status(struct mmc_card *card, u32 *status, int retries);
-@@ -600,6 +602,18 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev,
+@@ -602,6 +604,18 @@
__func__, status, err);
}
@@ -87,20 +87,20 @@ index 1a3163f..0a4bd62 100644
cmd_rel_host:
mmc_put_card(card);
-diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
-index 6d02012..5db9d8c 100644
---- a/drivers/mmc/core/mmc.c
-+++ b/drivers/mmc/core/mmc.c
-@@ -269,7 +269,7 @@ static void mmc_select_card_type(struct mmc_card *card)
+Index: linux-3.19-rc2/drivers/mmc/core/mmc.c
+===================================================================
+--- linux-3.19-rc2.orig/drivers/mmc/core/mmc.c 2014-12-30 15:49:05.976292142 +0100
++++ linux-3.19-rc2/drivers/mmc/core/mmc.c 2014-12-30 16:10:22.536332697 +0100
+@@ -332,7 +332,7 @@
/*
* Decode extended CSD.
*/
--static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
-+static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd, int update)
+-static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd)
++static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd, int update)
{
int err = 0, idx;
unsigned int part_size;
-@@ -348,7 +348,8 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
+@@ -404,7 +404,8 @@
* There are two boot regions of equal size, defined in
* multiples of 128K.
*/
@@ -110,7 +110,7 @@ index 6d02012..5db9d8c 100644
for (idx = 0; idx < MMC_NUM_BOOT_PARTITION; idx++) {
part_size = ext_csd[EXT_CSD_BOOT_MULT] << 17;
mmc_part_add(card, part_size,
-@@ -519,7 +520,8 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
+@@ -513,7 +514,8 @@
* RPMB regions are defined in multiples of 128K.
*/
card->ext_csd.raw_rpmb_size_mult = ext_csd[EXT_CSD_RPMB_MULT];
@@ -120,17 +120,17 @@ index 6d02012..5db9d8c 100644
mmc_part_add(card, ext_csd[EXT_CSD_RPMB_MULT] << 17,
EXT_CSD_PART_CONFIG_ACC_RPMB,
"rpmb", 0, false,
-@@ -983,7 +985,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
- err = mmc_get_ext_csd(card, &ext_csd);
- if (err)
- goto free_card;
-- err = mmc_read_ext_csd(card, ext_csd);
-+ err = mmc_read_ext_csd(card, ext_csd, 0);
- if (err)
- goto free_card;
+@@ -609,7 +611,7 @@
+ return err;
+ }
-@@ -1634,6 +1636,22 @@ static void mmc_attach_bus_ops(struct mmc_host *host)
- mmc_attach_bus(host, bus_ops);
+- err = mmc_decode_ext_csd(card, ext_csd);
++ err = mmc_decode_ext_csd(card, ext_csd, 0);
+ kfree(ext_csd);
+ return err;
+ }
+@@ -1625,6 +1627,22 @@
+ return mmc_send_status(host->card, NULL);
}
+int mmc_update_ext_csd(struct mmc_card *card)
@@ -142,13 +142,13 @@ index 6d02012..5db9d8c 100644
+ if (err || new_ext_csd == NULL)
+ goto out;
+
-+ err = mmc_read_ext_csd(card, new_ext_csd, 1);
++ err = mmc_decode_ext_csd(card, new_ext_csd, 1);
+
+out:
-+ mmc_free_ext_csd(new_ext_csd);
++ kfree(new_ext_csd);
+ return err;
+}
+
/*
- * Starting point for MMC card init.
+ * Card detection callback from host.
*/
diff --git a/patches/linux/3.19/0600-gpu-ipu-v3-Add-Video-Deinterlacer-unit.patch b/patches/linux/3.19/0600-gpu-ipu-v3-Add-Video-Deinterlacer-unit.patch
index ad4c298..8073e6a 100644
--- a/patches/linux/3.19/0600-gpu-ipu-v3-Add-Video-Deinterlacer-unit.patch
+++ b/patches/linux/3.19/0600-gpu-ipu-v3-Add-Video-Deinterlacer-unit.patch
@@ -15,24 +15,24 @@ Signed-off-by: Steve Longerbeam <ste...@me...>
5 files changed, 311 insertions(+), 1 deletion(-)
create mode 100644 drivers/gpu/ipu-v3/ipu-vdi.c
-diff --git a/drivers/gpu/ipu-v3/Makefile b/drivers/gpu/ipu-v3/Makefile
-index 107ec23..aeba9dc 100644
---- a/drivers/gpu/ipu-v3/Makefile
-+++ b/drivers/gpu/ipu-v3/Makefile
+Index: linux-3.19-rc2/drivers/gpu/ipu-v3/Makefile
+===================================================================
+--- linux-3.19-rc2.orig/drivers/gpu/ipu-v3/Makefile 2014-12-30 16:10:29.956332933 +0100
++++ linux-3.19-rc2/drivers/gpu/ipu-v3/Makefile 2014-12-30 16:10:29.952332933 +0100
@@ -1,4 +1,4 @@
obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o
-
+
imx-ipu-v3-objs := ipu-common.o ipu-cpmem.o ipu-csi.o ipu-dc.o ipu-di.o \
- ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-smfc.o
+ ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-smfc.o ipu-vdi.o
-diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
-index f707d25..95fd9af 100644
---- a/drivers/gpu/ipu-v3/ipu-common.c
-+++ b/drivers/gpu/ipu-v3/ipu-common.c
-@@ -827,6 +827,14 @@ static int ipu_submodules_init(struct ipu_soc *ipu,
- goto err_ic;
- }
-
+Index: linux-3.19-rc2/drivers/gpu/ipu-v3/ipu-common.c
+===================================================================
+--- linux-3.19-rc2.orig/drivers/gpu/ipu-v3/ipu-common.c 2014-12-30 16:10:29.956332933 +0100
++++ linux-3.19-rc2/drivers/gpu/ipu-v3/ipu-common.c 2014-12-30 18:58:27.000000000 +0100
+@@ -827,6 +827,14 @@
+ goto err_ic;
+ }
+
+ ret = ipu_vdi_init(ipu, dev, ipu_base + devtype->vdi_ofs,
+ IPU_CONF_VDI_EN | IPU_CONF_ISP_EN |
+ IPU_CONF_IC_INPUT);
@@ -41,62 +41,61 @@ index f707d25..95fd9af 100644
+ goto err_vdi;
+ }
+
- ret = ipu_di_init(ipu, dev, 0, ipu_base + devtype->disp0_ofs,
- IPU_CONF_DI0_EN, ipu_clk);
- if (ret) {
-@@ -881,6 +889,8 @@ err_dc:
+ ret = ipu_di_init(ipu, dev, 0, ipu_base + devtype->disp0_ofs,
+ IPU_CONF_DI0_EN, ipu_clk);
+ if (ret) {
+@@ -881,6 +889,8 @@
err_di_1:
- ipu_di_exit(ipu, 0);
+ ipu_di_exit(ipu, 0);
err_di_0:
+ ipu_vdi_exit(ipu);
+err_vdi:
- ipu_ic_exit(ipu);
+ ipu_ic_exit(ipu);
err_ic:
- ipu_csi_exit(ipu, 1);
-@@ -965,6 +975,7 @@ static void ipu_submodules_exit(struct ipu_soc *ipu)
- ipu_dc_exit(ipu);
- ipu_di_exit(ipu, 1);
- ipu_di_exit(ipu, 0);
+ ipu_csi_exit(ipu, 1);
+@@ -965,6 +975,7 @@
+ ipu_dc_exit(ipu);
+ ipu_di_exit(ipu, 1);
+ ipu_di_exit(ipu, 0);
+ ipu_vdi_exit(ipu);
- ipu_ic_exit(ipu);
- ipu_csi_exit(ipu, 1);
- ipu_csi_exit(ipu, 0);
-diff --git a/drivers/gpu/ipu-v3/ipu-prv.h b/drivers/gpu/ipu-v3/ipu-prv.h
-index bfb1e8a..845f64c 100644
---- a/drivers/gpu/ipu-v3/ipu-prv.h
-+++ b/drivers/gpu/ipu-v3/ipu-prv.h
-@@ -138,6 +138,7 @@ struct ipu_dc_priv;
+ ipu_ic_exit(ipu);
+ ipu_csi_exit(ipu, 1);
+ ipu_csi_exit(ipu, 0);
+Index: linux-3.19-rc2/drivers/gpu/ipu-v3/ipu-prv.h
+===================================================================
+--- linux-3.19-rc2.orig/drivers/gpu/ipu-v3/ipu-prv.h 2014-12-30 16:10:29.956332933 +0100
++++ linux-3.19-rc2/drivers/gpu/ipu-v3/ipu-prv.h 2014-12-30 18:58:27.000000000 +0100
+@@ -138,6 +138,7 @@
struct ipu_dmfc_priv;
struct ipu_di;
struct ipu_ic_priv;
+struct ipu_vdi;
struct ipu_smfc_priv;
-
+
struct ipu_devtype;
-@@ -169,6 +170,7 @@ struct ipu_soc {
- struct ipu_di *di_priv[2];
- struct ipu_csi *csi_priv[2];
- struct ipu_ic_priv *ic_priv;
+@@ -169,6 +170,7 @@
+ struct ipu_di *di_priv[2];
+ struct ipu_csi *csi_priv[2];
+ struct ipu_ic_priv *ic_priv;
+ struct ipu_vdi *vdi_priv;
- struct ipu_smfc_priv *smfc_priv;
+ struct ipu_smfc_priv *smfc_priv;
};
-
-@@ -199,6 +201,10 @@ int ipu_ic_init(struct ipu_soc *ipu, struct device *dev,
- unsigned long base, unsigned long tpmem_base);
+
+@@ -199,6 +201,10 @@
+ unsigned long base, unsigned long tpmem_base);
void ipu_ic_exit(struct ipu_soc *ipu);
-
+
+int ipu_vdi_init(struct ipu_soc *ipu, struct device *dev,
+ unsigned long base, u32 module);
+void ipu_vdi_exit(struct ipu_soc *ipu);
+
int ipu_di_init(struct ipu_soc *ipu, struct device *dev, int id,
- unsigned long base, u32 module, struct clk *ipu_clk);
+ unsigned long base, u32 module, struct clk *ipu_clk);
void ipu_di_exit(struct ipu_soc *ipu, int id);
-diff --git a/drivers/gpu/ipu-v3/ipu-vdi.c b/drivers/gpu/ipu-v3/ipu-vdi.c
-new file mode 100644
-index 0000000..3d20f42
---- /dev/null
-+++ b/drivers/gpu/ipu-v3/ipu-vdi.c
+Index: linux-3.19-rc2/drivers/gpu/ipu-v3/ipu-vdi.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/gpu/ipu-v3/ipu-vdi.c 2014-12-30 18:59:41.480655440 +0100
@@ -0,0 +1,266 @@
+/*
+ * Copyright (C) 2012 Mentor Graphics Inc.
@@ -225,10 +224,10 @@ index 0000000..3d20f42
+ * Full motion, only vertical filter is used.
+ * Burst size is 4 accesses
+ */
-+ if (code == V4L2_MBUS_FMT_UYVY8_2X8 ||
-+ code == V4L2_MBUS_FMT_UYVY8_1X16 ||
-+ code == V4L2_MBUS_FMT_YUYV8_2X8 ||
-+ code == V4L2_MBUS_FMT_YUYV8_1X16)
++ if (code == MEDIA_BUS_FMT_UYVY8_2X8 ||
++ code == MEDIA_BUS_FMT_UYVY8_1X16 ||
++ code == MEDIA_BUS_FMT_YUYV8_2X8 ||
++ code == MEDIA_BUS_FMT_YUYV8_1X16)
+ pixel_fmt = VDI_C_CH_422;
+ else
+ pixel_fmt = VDI_C_CH_420;
@@ -364,14 +363,14 @@ index 0000000..3d20f42
+void ipu_vdi_exit(struct ipu_soc *ipu)
+{
+}
-diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h
-index c74bf4a..b3f09726 100644
---- a/include/video/imx-ipu-v3.h
-+++ b/include/video/imx-ipu-v3.h
-@@ -91,6 +91,16 @@ enum ipu_color_space {
- IPUV3_COLORSPACE_UNKNOWN,
+Index: linux-3.19-rc2/include/video/imx-ipu-v3.h
+===================================================================
+--- linux-3.19-rc2.orig/include/video/imx-ipu-v3.h 2014-12-30 16:10:29.956332933 +0100
++++ linux-3.19-rc2/include/video/imx-ipu-v3.h 2014-12-30 18:58:27.000000000 +0100
+@@ -91,6 +91,16 @@
+ IPUV3_COLORSPACE_UNKNOWN,
};
-
+
+/*
+ * Enumeration of VDI MOTION select
+ */
@@ -383,11 +382,11 @@ index c74bf4a..b3f09726 100644
+};
+
struct ipuv3_channel;
-
+
enum ipu_channel_irq {
-@@ -329,6 +339,23 @@ void ipu_ic_put(struct ipu_ic *ic);
+@@ -329,6 +339,23 @@
void ipu_ic_dump(struct ipu_ic *ic);
-
+
/*
+ * IPU Video De-Interlacer (vdi) functions
+ */
@@ -409,5 +408,3 @@ index c74bf4a..b3f09726 100644
* IPU Sensor Multiple FIFO Controller (SMFC) functions
*/
struct ipu_smfc *ipu_smfc_get(struct ipu_soc *ipu, unsigned int chno);
---
-1.8.5.5
diff --git a/patches/linux/3.19/0619-media-Add-new-camera-interface-driver-for-i.MX6.patch b/patches/linux/3.19/0619-media-Add-new-camera-interface-driver-for-i.MX6.patch
index ad9f3c0..c406b97 100644
--- a/patches/linux/3.19/0619-media-Add-new-camera-interface-driver-for-i.MX6.patch
+++ b/patches/linux/3.19/0619-media-Add-new-camera-interface-driver-for-i.MX6.patch
@@ -37,11 +37,10 @@ Signed-off-by: Vladimir Zapolskiy <vla...@me...>
create mode 100644 drivers/staging/media/imx6/capture/mx6-preview.c
create mode 100644 include/media/imx6.h
-diff --git a/Documentation/video4linux/mx6_camera.txt b/Documentation/video4linux/mx6_camera.txt
-new file mode 100644
-index 0000000..bcfcd94
---- /dev/null
-+++ b/Documentation/video4linux/mx6_camera.txt
+Index: linux-3.19-rc2/Documentation/video4linux/mx6_camera.txt
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/Documentation/video4linux/mx6_camera.txt 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,187 @@
+ i.MX6 Video Capture Driver
+ ==========================
@@ -230,23 +229,23 @@ index 0000000..bcfcd94
+Vladimir Zapolskiy <vla...@me...>
+
+Copyright (C) 2012-2014 Mentor Graphics Inc.
-diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig
-index 655cf50..4929219 100644
---- a/drivers/staging/media/Kconfig
-+++ b/drivers/staging/media/Kconfig
-@@ -27,6 +27,8 @@ source "drivers/staging/media/davinci_vpfe/Kconfig"
-
+Index: linux-3.19-rc2/drivers/staging/media/Kconfig
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/Kconfig 2014-12-30 18:59:56.232655909 +0100
++++ linux-3.19-rc2/drivers/staging/media/Kconfig 2014-12-30 18:59:56.228655909 +0100
+@@ -27,6 +27,8 @@
+
source "drivers/staging/media/dt3155v4l/Kconfig"
-
+
+source "drivers/staging/media/imx6/Kconfig"
+
- source "drivers/staging/media/omap24xx/Kconfig"
-
- source "drivers/staging/media/omap4iss/Kconfig"
-diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile
-index 6dbe578..92dad22 100644
---- a/drivers/staging/media/Makefile
-+++ b/drivers/staging/media/Makefile
+ source "drivers/staging/media/tlg2300/Kconfig"
+
+ source "drivers/staging/media/mn88472/Kconfig"
+Index: linux-3.19-rc2/drivers/staging/media/Makefile
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/Makefile 2014-12-30 18:59:56.232655909 +0100
++++ linux-3.19-rc2/drivers/staging/media/Makefile 2014-12-30 18:59:56.228655909 +0100
@@ -1,5 +1,6 @@
obj-$(CONFIG_I2C_BCM2048) += bcm2048/
obj-$(CONFIG_DVB_CXD2099) += cxd2099/
@@ -254,11 +253,10 @@ index 6dbe578..92dad22 100644
obj-$(CONFIG_LIRC_STAGING) += lirc/
obj-$(CONFIG_VIDEO_DT3155) += dt3155v4l/
obj-$(CONFIG_VIDEO_DM365_VPFE) += davinci_vpfe/
-diff --git a/drivers/staging/media/imx6/Kconfig b/drivers/staging/media/imx6/Kconfig
-new file mode 100644
-index 0000000..512a659
---- /dev/null
-+++ b/drivers/staging/media/imx6/Kconfig
+Index: linux-3.19-rc2/drivers/staging/media/imx6/Kconfig
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/Kconfig 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,25 @@
+config VIDEO_IMX6
+ tristate "i.MX6 V4L2 devices"
@@ -285,18 +283,16 @@ index 0000000..512a659
+if VIDEO_IMX6_CAMERA
+source "drivers/staging/media/imx6/capture/Kconfig"
+endif
-diff --git a/drivers/staging/media/imx6/Makefile b/drivers/staging/media/imx6/Makefile
-new file mode 100644
-index 0000000..e0ed058
---- /dev/null
-+++ b/drivers/staging/media/imx6/Makefile
+Index: linux-3.19-rc2/drivers/staging/media/imx6/Makefile
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/Makefile 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1 @@
+obj-$(CONFIG_VIDEO_IMX6_CAMERA) += capture/
-diff --git a/drivers/staging/media/imx6/capture/Kconfig b/drivers/staging/media/imx6/capture/Kconfig
-new file mode 100644
-index 0000000..ee4f017
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/Kconfig
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,11 @@
+menu "i.MX6 Camera Sensors"
+
@@ -309,21 +305,19 @@ index 0000000..ee4f017
+ for sensor drivers with a MIPI CSI2 interface.
+
+endmenu
-diff --git a/drivers/staging/media/imx6/capture/Makefile b/drivers/staging/media/imx6/capture/Makefile
-new file mode 100644
-index 0000000..832d75d
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/Makefile
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,4 @@
+mx6-camera-objs := mx6-camif.o mx6-encode.o mx6-preview.o
+
+obj-$(CONFIG_VIDEO_IMX6_CAMERA) += mx6-camera.o
+obj-$(CONFIG_IMX6_MIPI_CSI2) += mipi-csi2.o
-diff --git a/drivers/staging/media/imx6/capture/mipi-csi2.c b/drivers/staging/media/imx6/capture/mipi-csi2.c
-new file mode 100644
-index 0000000..1eaccbd
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/mipi-csi2.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mipi-csi2.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mipi-csi2.c 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,322 @@
+/*
+ * MIPI CSI-2 Receiver Subdev for Freescale i.MX6 SOC.
@@ -647,11 +641,10 @@ index 0000000..1eaccbd
+MODULE_AUTHOR("Mentor Graphics Inc.");
+MODULE_LICENSE("GPL");
+
-diff --git a/drivers/staging/media/imx6/capture/mx6-camif.c b/drivers/staging/media/imx6/capture/mx6-camif.c
-new file mode 100644
-index 0000000..05f0381
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/mx6-camif.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.c 2014-12-30 19:00:54.212657751 +0100
@@ -0,0 +1,2259 @@
+/*
+ * Video Camera Capture driver for Freescale i.MX6 SOC
@@ -731,13 +724,13 @@ index 0000000..05f0381
+ {
+ .name = "RGB565",
+ .fourcc = V4L2_PIX_FMT_RGB565,
-+ .codes = {V4L2_MBUS_FMT_RGB565_2X8_LE},
++ .codes = {MEDIA_BUS_FMT_RGB565_2X8_LE},
+ .depth = 16,
+ }, {
+ .name = "RGB24",
+ .fourcc = V4L2_PIX_FMT_RGB24,
-+ .codes = {V4L2_MBUS_FMT_RGB888_1X24,
-+ V4L2_MBUS_FMT_RGB888_2X12_LE},
++ .codes = {MEDIA_BUS_FMT_RGB888_1X24,
++ MEDIA_BUS_FMT_RGB888_2X12_LE},
+ .depth = 24,
+ }, {
+ .name = "BGR24",
@@ -746,7 +739,7 @@ index 0000000..05f0381
+ }, {
+ .name = "RGB32",
+ .fourcc = V4L2_PIX_FMT_RGB32,
-+ .codes = {V4L2_MBUS_FMT_ARGB8888_1X32},
++ .codes = {MEDIA_BUS_FMT_ARGB8888_1X32},
+ .depth = 32,
+ }, {
+ .name = "BGR32",
@@ -755,12 +748,12 @@ index 0000000..05f0381
+ }, {
+ .name = "4:2:2 packed, YUYV",
+ .fourcc = V4L2_PIX_FMT_YUYV,
-+ .codes = {V4L2_MBUS_FMT_YUYV8_2X8, V4L2_MBUS_FMT_YUYV8_1X16},
++ .codes = {MEDIA_BUS_FMT_YUYV8_2X8, MEDIA_BUS_FMT_YUYV8_1X16},
+ .depth = 16,
+ }, {
+ .name = "4:2:2 packed, UYVY",
+ .fourcc = V4L2_PIX_FMT_UYVY,
-+ .codes = {V4L2_MBUS_FMT_UYVY8_2X8, V4L2_MBUS_FMT_UYVY8_1X16},
++ .codes = {MEDIA_BUS_FMT_UYVY8_2X8, MEDIA_BUS_FMT_UYVY8_1X16},
+ .depth = 16,
+ }, {
+ .name = "4:2:0 planar, YUV",
@@ -2912,11 +2905,10 @@ index 0000000..05f0381
+MODULE_DESCRIPTION("i.MX6 v4l2 capture driver");
+MODULE_AUTHOR("Mentor Graphics Inc.");
+MODULE_LICENSE("GPL");
-diff --git a/drivers/staging/media/imx6/capture/mx6-camif.h b/drivers/staging/media/imx6/capture/mx6-camif.h
-new file mode 100644
-index 0000000..b3d9828
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/mx6-camif.h
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.h 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,201 @@
+/*
+ * Video Capture driver for Freescale i.MX6 SOC
@@ -3119,11 +3111,10 @@ index 0000000..b3d9828
+struct v4l2_subdev *mx6cam_preview_init(struct mx6cam_dev *dev);
+
+#endif /* _MX6_CAMIF_H */
-diff --git a/drivers/staging/media/imx6/capture/mx6-encode.c b/drivers/staging/media/imx6/capture/mx6-encode.c
-new file mode 100644
-index 0000000..f422be3
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/mx6-encode.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-encode.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-encode.c 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,757 @@
+/*
+ * V4L2 Capture Encoder Subdev for Freescale i.MX6 SOC
@@ -3882,11 +3873,10 @@ index 0000000..f422be3
+ priv->dev = dev;
+ return &priv->sd;
+}
-diff --git a/drivers/staging/media/imx6/capture/mx6-preview.c b/drivers/staging/media/imx6/capture/mx6-preview.c
-new file mode 100644
-index 0000000..517fa50
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/mx6-preview.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-preview.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-preview.c 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,792 @@
+/*
+ * V4L2 Preview Subdev for Freescale i.MX6 SOC
@@ -4680,11 +4670,10 @@ index 0000000..517fa50
+ priv->dev = dev;
+ return &priv->sd;
+}
-diff --git a/include/media/imx6.h b/include/media/imx6.h
-new file mode 100644
-index 0000000..232378b
---- /dev/null
-+++ b/include/media/imx6.h
+Index: linux-3.19-rc2/include/media/imx6.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/include/media/imx6.h 2014-12-30 18:59:56.228655909 +0100
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2014 Mentor Graphics Inc.
@@ -4704,5 +4693,3 @@ index 0000000..232378b
+#define DECODER_STATUS_CHANGE_NOTIFY _IO('7', 0)
+
+#endif
---
-1.8.5.5
diff --git a/patches/linux/3.19/0620-media-imx6-Add-support-for-MIPI-CSI-2-OV5640.patch b/patches/linux/3.19/0620-media-imx6-Add-support-for-MIPI-CSI-2-OV5640.patch
index c0c3d5e..87f5702 100644
--- a/patches/linux/3.19/0620-media-imx6-Add-support-for-MIPI-CSI-2-OV5640.patch
+++ b/patches/linux/3.19/0620-media-imx6-Add-support-for-MIPI-CSI-2-OV5640.patch
@@ -15,14 +15,14 @@ Signed-off-by: Steve Longerbeam <ste...@me...>
3 files changed, 2288 insertions(+)
create mode 100644 drivers/staging/media/imx6/capture/ov5640-mipi.c
-diff --git a/drivers/staging/media/imx6/capture/Kconfig b/drivers/staging/media/imx6/capture/Kconfig
-index ee4f017..6d81e3f 100644
---- a/drivers/staging/media/imx6/capture/Kconfig
-+++ b/drivers/staging/media/imx6/capture/Kconfig
-@@ -8,4 +8,12 @@ config IMX6_MIPI_CSI2
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Kconfig 2014-12-30 19:09:25.616673998 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig 2014-12-31 10:02:23.000000000 +0100
+@@ -8,4 +8,12 @@
MIPI CSI-2 Receiver driver support. This driver is required
- for sensor drivers with a MIPI CSI2 interface.
-
+ for sensor drivers with a MIPI CSI2 interface.
+
+config IMX6_CAMERA_OV5640_MIPI
+ tristate "OmniVision OV5640 MIPI CSI-2 camera support"
+ depends on VIDEO_IMX6_CAMERA
@@ -32,20 +32,19 @@ index ee4f017..6d81e3f 100644
+ MIPI CSI-2 OV5640 Camera support.
+
endmenu
-diff --git a/drivers/staging/media/imx6/capture/Makefile b/drivers/staging/media/imx6/capture/Makefile
-index 832d75d..6aaa4cc 100644
---- a/drivers/staging/media/imx6/capture/Makefile
-+++ b/drivers/staging/media/imx6/capture/Makefile
-@@ -2,3 +2,4 @@ mx6-camera-objs := mx6-camif.o mx6-encode.o mx6-preview.o
-
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:09:25.616673998 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile 2014-12-31 10:02:23.000000000 +0100
+@@ -2,3 +2,4 @@
+
obj-$(CONFIG_VIDEO_IMX6_CAMERA) += mx6-camera.o
obj-$(CONFIG_IMX6_MIPI_CSI2) += mipi-csi2.o
+obj-$(CONFIG_IMX6_CAMERA_OV5640_MIPI) += ov5640-mipi.o
-diff --git a/drivers/staging/media/imx6/capture/ov5640-mipi.c b/drivers/staging/media/imx6/capture/ov5640-mipi.c
-new file mode 100644
-index 0000000..65ba227
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/ov5640-mipi.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/ov5640-mipi.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/ov5640-mipi.c 2014-12-31 10:13:45.442397797 +0100
@@ -0,0 +1,2279 @@
+/*
+ * Copyright (c) 2014 Mentor Graphics Inc.
@@ -2019,7 +2018,7 @@ index 0000000..65ba227
+}
+
+static int ov5640_enum_mbus_fmt(struct v4l2_subdev *sd, unsigned index,
-+ enum v4l2_mbus_pixelcode *code)
++ u32 *code)
+{
+ struct ov5640_dev *sensor = to_ov5640_dev(sd);
+
@@ -2170,7 +2169,7 @@ index 0000000..65ba227
+
+ sensor->i2c_client = client;
+ sensor->dev = dev;
-+ sensor->fmt.code = V4L2_MBUS_FMT_UYVY8_2X8;
++ sensor->fmt.code = MEDIA_BUS_FMT_UYVY8_2X8;
+ sensor->fmt.width = 640;
+ sensor->fmt.height = 480;
+ sensor->streamcap.capability = V4L2_MODE_HIGHQUALITY |
@@ -2326,5 +2325,3 @@ index 0000000..65ba227
+MODULE_DESCRIPTION("OV5640 MIPI Camera Subdev Driver");
+MODULE_LICENSE("GPL");
+MODULE_VERSION("1.0");
---
-1.8.5.5
diff --git a/patches/linux/3.19/0621-media-imx6-Add-support-for-Parallel-OV5642.patch b/patches/linux/3.19/0621-media-imx6-Add-support-for-Parallel-OV5642.patch
index 4754ab1..4add716 100644
--- a/patches/linux/3.19/0621-media-imx6-Add-support-for-Parallel-OV5642.patch
+++ b/patches/linux/3.19/0621-media-imx6-Add-support-for-Parallel-OV5642.patch
@@ -15,14 +15,14 @@ Signed-off-by: Steve Longerbeam <ste...@me...>
3 files changed, 4313 insertions(+)
create mode 100644 drivers/staging/media/imx6/capture/ov5642.c
-diff --git a/drivers/staging/media/imx6/capture/Kconfig b/drivers/staging/media/imx6/capture/Kconfig
-index 6d81e3f..5e6a610 100644
---- a/drivers/staging/media/imx6/capture/Kconfig
-+++ b/drivers/staging/media/imx6/capture/Kconfig
-@@ -8,6 +8,13 @@ config IMX6_MIPI_CSI2
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Kconfig 2014-12-30 19:01:51.248659563 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig 2014-12-30 19:01:51.240659562 +0100
+@@ -8,6 +8,13 @@
MIPI CSI-2 Receiver driver support. This driver is required
- for sensor drivers with a MIPI CSI2 interface.
-
+ for sensor drivers with a MIPI CSI2 interface.
+
+config IMX6_CAMERA_OV5642
+ tristate "OmniVision OV5642 Parallel camera support"
+ depends on VIDEO_IMX6_CAMERA
@@ -33,20 +33,19 @@ index 6d81e3f..5e6a610 100644
config IMX6_CAMERA_OV5640_MIPI
tristate "OmniVision OV5640 MIPI CSI-2 camera support"
depends on VIDEO_IMX6_CAMERA
-diff --git a/drivers/staging/media/imx6/capture/Makefile b/drivers/staging/media/imx6/capture/Makefile
-index 6aaa4cc..bcb2c16 100644
---- a/drivers/staging/media/imx6/capture/Makefile
-+++ b/drivers/staging/media/imx6/capture/Makefile
-@@ -3,3 +3,4 @@ mx6-camera-objs := mx6-camif.o mx6-encode.o mx6-preview.o
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:01:51.248659563 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:01:51.240659562 +0100
+@@ -3,3 +3,4 @@
obj-$(CONFIG_VIDEO_IMX6_CAMERA) += mx6-camera.o
obj-$(CONFIG_IMX6_MIPI_CSI2) += mipi-csi2.o
obj-$(CONFIG_IMX6_CAMERA_OV5640_MIPI) += ov5640-mipi.o
+obj-$(CONFIG_IMX6_CAMERA_OV5642) += ov5642.o
-diff --git a/drivers/staging/media/imx6/capture/ov5642.c b/drivers/staging/media/imx6/capture/ov5642.c
-new file mode 100644
-index 0000000..7abf02b
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/ov5642.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/ov5642.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/ov5642.c 2014-12-30 19:02:15.524660334 +0100
@@ -0,0 +1,4305 @@
+/*
+ * Copyright (c) 2012-2014 Mentor Graphics Inc.
@@ -4182,7 +4181,7 @@ index 0000000..7abf02b
+
+ sensor->i2c_client = client;
+ sensor->dev = dev;
-+ sensor->fmt.code = V4L2_MBUS_FMT_YUYV8_2X8;
++ sensor->fmt.code = MEDIA_BUS_FMT_YUYV8_2X8;
+ sensor->fmt.width = 640;
+ sensor->fmt.height = 480;
+ sensor->fmt.field = V4L2_FIELD_NONE;
@@ -4353,5 +4352,3 @@ index 0000000..7abf02b
+MODULE_DESCRIPTION("OV5642 Camera Subdev Driver");
+MODULE_LICENSE("GPL");
+MODULE_VERSION("1.0");
---
-1.8.5.5
diff --git a/patches/linux/3.19/0622-media-imx6-Add-support-for-ADV7180-Video-Decoder.patch b/patches/linux/3.19/0622-media-imx6-Add-support-for-ADV7180-Video-Decoder.patch
index c3c044a..b114d73 100644
--- a/patches/linux/3.19/0622-media-imx6-Add-support-for-ADV7180-Video-Decoder.patch
+++ b/patches/linux/3.19/0622-media-imx6-Add-support-for-ADV7180-Video-Decoder.patch
@@ -15,14 +15,14 @@ Signed-off-by: Steve Longerbeam <ste...@me...>
3 files changed, 1364 insertions(+)
create mode 100644 drivers/staging/media/imx6/capture/adv7180.c
-diff --git a/drivers/staging/media/imx6/capture/Kconfig b/drivers/staging/media/imx6/capture/Kconfig
-index 5e6a610..ee4ed8a 100644
---- a/drivers/staging/media/imx6/capture/Kconfig
-+++ b/drivers/staging/media/imx6/capture/Kconfig
-@@ -23,4 +23,11 @@ config IMX6_CAMERA_OV5640_MIPI
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Kconfig 2014-12-30 19:02:22.468660555 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Kconfig 2014-12-30 19:02:22.464660554 +0100
+@@ -23,4 +23,11 @@
---help---
MIPI CSI-2 OV5640 Camera support.
-
+
+config IMX6_CAMERA_ADV7180
+ tristate "Analog Devices ADV7180 Video Decoder support"
+ depends on VIDEO_IMX6_CAMERA
@@ -31,20 +31,19 @@ index 5e6a610..ee4ed8a 100644
+ Analog Devices ADV7180 Video Decoder support.
+
endmenu
-diff --git a/drivers/staging/media/imx6/capture/Makefile b/drivers/staging/media/imx6/capture/Makefile
-index bcb2c16..d6b456c 100644
---- a/drivers/staging/media/imx6/capture/Makefile
-+++ b/drivers/staging/media/imx6/capture/Makefile
-@@ -4,3 +4,4 @@ obj-$(CONFIG_VIDEO_IMX6_CAMERA) += mx6-camera.o
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:02:22.468660555 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:02:22.464660554 +0100
+@@ -4,3 +4,4 @@
obj-$(CONFIG_IMX6_MIPI_CSI2) += mipi-csi2.o
obj-$(CONFIG_IMX6_CAMERA_OV5640_MIPI) += ov5640-mipi.o
obj-$(CONFIG_IMX6_CAMERA_OV5642) += ov5642.o
+obj-$(CONFIG_IMX6_CAMERA_ADV7180) += adv7180.o
-diff --git a/drivers/staging/media/imx6/capture/adv7180.c b/drivers/staging/media/imx6/capture/adv7180.c
-new file mode 100644
-index 0000000..84891dc
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/adv7180.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/adv7180.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/adv7180.c 2014-12-30 19:02:50.076661432 +0100
@@ -0,0 +1,1356 @@
+/*
+ * Analog Device ADV7180 video decoder driver
@@ -1252,7 +1251,7 @@ index 0000000..84891dc
+ sensor->streamcap.timeperframe.numerator = 1;
+ sensor->fmt.width = video_fmts[sensor->video_idx].raw.width;
+ sensor->fmt.height = video_fmts[sensor->video_idx].raw.height;
-+ sensor->fmt.code = V4L2_MBUS_FMT_UYVY8_2X8;
++ sensor->fmt.code = MEDIA_BUS_FMT_UYVY8_2X8;
+ sensor->fmt.field = V4L2_FIELD_SEQ_BT;
+
+ mutex_init(&sensor->mutex);
@@ -1402,5 +1401,3 @@ index 0000000..84891dc
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("Analog Devices ADV7180 Subdev driver");
+MODULE_LICENSE("GPL");
---
-1.8.5.5
diff --git a/patches/linux/3.19/0624-media-imx6-camera-Add-VDIC-deinterlacing-subdev.patch b/patches/linux/3.19/0624-media-imx6-camera-Add-VDIC-deinterlacing-subdev.patch
index f40be0e..1dac599 100644
--- a/patches/linux/3.19/0624-media-imx6-camera-Add-VDIC-deinterlacing-subdev.patch
+++ b/patches/linux/3.19/0624-media-imx6-camera-Add-VDIC-deinterlacing-subdev.patch
@@ -45,32 +45,32 @@ Signed-off-by: Steve Longerbeam <ste...@me...>
4 files changed, 1080 insertions(+), 6 deletions(-)
create mode 100644 drivers/staging/media/imx6/capture/mx6-vdic.c
-diff --git a/drivers/staging/media/imx6/capture/Makefile b/drivers/staging/media/imx6/capture/Makefile
-index d6b456c..13b9862 100644
---- a/drivers/staging/media/imx6/capture/Makefile
-+++ b/drivers/staging/media/imx6/capture/Makefile
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:02:59.380661727 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/Makefile 2014-12-30 19:02:59.376661727 +0100
@@ -1,4 +1,4 @@
-mx6-camera-objs := mx6-camif.o mx6-encode.o mx6-preview.o
+mx6-camera-objs := mx6-camif.o mx6-encode.o mx6-preview.o mx6-vdic.o
-
+
obj-$(CONFIG_VIDEO_IMX6_CAMERA) += mx6-camera.o
obj-$(CONFIG_IMX6_MIPI_CSI2) += mipi-csi2.o
-diff --git a/drivers/staging/media/imx6/capture/mx6-camif.c b/drivers/staging/media/imx6/capture/mx6-camif.c
-index 85c7757..3fae8b6 100644
---- a/drivers/staging/media/imx6/capture/mx6-camif.c
-+++ b/drivers/staging/media/imx6/capture/mx6-camif.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.c
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/mx6-camif.c 2014-12-30 19:02:59.380661727 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.c 2014-12-30 19:03:42.780663106 +0100
@@ -39,6 +39,8 @@
#define MAX_H 4096
#define MAX_W_IC 1024
#define MAX_H_IC 1024
+#define MAX_W_VDIC 968
+#define MAX_H_VDIC 2048
-
+
#define H_ALIGN 1 /* multiple of 2 */
#define S_ALIGN 1 /* multiple of 2 */
-@@ -204,6 +206,34 @@ static bool update_signal_lock_status(struct mx6cam_dev *dev)
+@@ -204,6 +206,34 @@
}
-
+
/*
+ * Return true if the VDIC deinterlacer is needed. We need the VDIC
+ * if the sensor is transmitting fields, and userland is requesting
@@ -93,70 +93,70 @@ index 85c7757..3fae8b6 100644
+{
+ return sf->width <= MAX_W_VDIC &&
+ sf->height <= MAX_H_VDIC &&
-+ (sf->code == V4L2_MBUS_FMT_UYVY8_2X8 ||
-+ sf->code == V4L2_MBUS_FMT_UYVY8_1X16 ||
-+ sf->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
-+ sf->code == V4L2_MBUS_FMT_YUYV8_1X16);
++ (sf->code == MEDIA_BUS_FMT_UYVY8_2X8 ||
++ sf->code == MEDIA_BUS_FMT_UYVY8_1X16 ||
++ sf->code == MEDIA_BUS_FMT_YUYV8_2X8 ||
++ sf->code == MEDIA_BUS_FMT_YUYV8_1X16);
+}
+
+/*
* Return true if the current capture parameters require the use of
* the Image Converter. We need the IC for scaling, colorspace conversion,
* preview, and rotation.
-@@ -409,6 +439,7 @@ static int sensor_set_stream(struct mx6cam_dev *dev, int on)
+@@ -409,6 +439,7 @@
*/
static int start_encoder(struct mx6cam_dev *dev)
{
+ struct v4l2_subdev *streaming_sd;
- int ret;
-
- if (dev->encoder_on)
-@@ -421,8 +452,10 @@ static int start_encoder(struct mx6cam_dev *dev)
- return ret;
- }
-
+ int ret;
+
+ if (dev->encoder_on)
+@@ -421,8 +452,10 @@
+ return ret;
+ }
+
- /* encoder stream on */
- ret = v4l2_subdev_call(dev->encoder_sd, video, s_stream, 1);
+ /* encoder/vdic stream on */
+ streaming_sd = dev->using_vdic ? dev->vdic_sd : dev->encoder_sd;
+
+ ret = v4l2_subdev_call(streaming_sd, video, s_stream, 1);
- if (ret) {
- v4l2_err(&dev->v4l2_dev, "encoder stream on failed\n");
- return ret;
-@@ -437,13 +470,16 @@ static int start_encoder(struct mx6cam_dev *dev)
+ if (ret) {
+ v4l2_err(&dev->v4l2_dev, "encoder stream on failed\n");
+ return ret;
+@@ -437,13 +470,16 @@
*/
static int stop_encoder(struct mx6cam_dev *dev)
{
+ struct v4l2_subdev *streaming_sd;
- int ret;
-
- if (!dev->encoder_on)
- return 0;
-
+ int ret;
+
+ if (!dev->encoder_on)
+ return 0;
+
- /* encoder off */
- ret = v4l2_subdev_call(dev->encoder_sd, video, s_stream, 0);
+ streaming_sd = dev->using_vdic ? dev->vdic_sd : dev->encoder_sd;
+
+ /* encoder/vdic off */
+ ret = v4l2_subdev_call(streaming_sd, video, s_stream, 0);
- if (ret)
- v4l2_err(&dev->v4l2_dev, "encoder stream off failed\n");
-
-@@ -539,6 +575,9 @@ static int set_stream(struct mx6cam_ctx *ctx, bool on)
- &dev->crop) &&
- can_use_ic(dev, &dev->sensor_fmt, &dev->user_fmt));
-
+ if (ret)
+ v4l2_err(&dev->v4l2_dev, "encoder stream off failed\n");
+
+@@ -539,6 +575,9 @@
+ &dev->crop) &&
+ can_use_ic(dev, &dev->sensor_fmt, &dev->user_fmt));
+
+ dev->using_vdic = need_vdic(dev, &dev->sensor_fmt) &&
+ can_use_vdic(dev, &dev->sensor_fmt);
+
- if (dev->preview_on)
- stop_preview(dev);
-
-@@ -685,6 +724,13 @@ static int mx6cam_set_motion(struct mx6cam_dev *dev,
- "Preview is on, cannot enable deinterlace\n");
- return -EBUSY;
- }
+ if (dev->preview_on)
+ stop_preview(dev);
+
+@@ -685,6 +724,13 @@
+ "Preview is on, cannot enable deinterlace\n");
+ return -EBUSY;
+ }
+
+ if (motion != MOTION_NONE &&
+ !can_use_vdic(dev, &dev->sensor_fmt)) {
@@ -164,36 +164,36 @@ index 85c7757..3fae8b6 100644
+ "sensor format does not allow deinterlace\n");
+ return -EINVAL;
+ }
- }
-
- dev->motion = motion;
-@@ -2071,6 +2117,9 @@ static void mx6cam_unregister_subdevs(struct mx6cam_dev *dev)
- if (!IS_ERR_OR_NULL(dev->preview_sd))
- v4l2_device_unregister_subdev(dev->preview_sd);
-
+ }
+
+ dev->motion = motion;
+@@ -2071,6 +2117,9 @@
+ if (!IS_ERR_OR_NULL(dev->preview_sd))
+ v4l2_device_unregister_subdev(dev->preview_sd);
+
+ if (!IS_ERR_OR_NULL(dev->vdic_sd))
+ v4l2_device_unregister_subdev(dev->vdic_sd);
+
- if (!IS_ERR_OR_NULL(dev->csi2_sd))
- v4l2_device_unregister_subdev(dev->csi2_sd);
-
-@@ -2229,6 +2278,12 @@ static int mx6cam_probe(struct platform_device *pdev)
- goto unreg_subdevs;
- }
-
+ if (!IS_ERR_OR_NULL(dev->csi2_sd))
+ v4l2_device_unregister_subdev(dev->csi2_sd);
+
+@@ -2229,6 +2278,12 @@
+ goto unreg_subdevs;
+ }
+
+ dev->vdic_sd = mx6cam_vdic_init(dev);
+ if (IS_ERR(dev->vdic_sd)) {
+ ret = PTR_ERR(dev->vdic_sd);
+ goto unreg_subdevs;
+ }
+
- ret = v4l2_device_register_subdev(&dev->v4l2_dev, dev->encoder_sd);
- if (ret < 0) {
- v4l2_err(&dev->v4l2_dev,
-@@ -2247,6 +2302,15 @@ static int mx6cam_probe(struct platform_device *pdev)
- v4l2_info(&dev->v4l2_dev, "Registered subdev %s\n",
- dev->preview_sd->name);
-
+ ret = v4l2_device_register_subdev(&dev->v4l2_dev, dev->encoder_sd);
+ if (ret < 0) {
+ v4l2_err(&dev->v4l2_dev,
+@@ -2247,6 +2302,15 @@
+ v4l2_info(&dev->v4l2_dev, "Registered subdev %s\n",
+ dev->preview_sd->name);
+
+ ret = v4l2_device_register_subdev(&dev->v4l2_dev, dev->vdic_sd);
+ if (ret < 0) {
+ v4l2_err(&dev->v4l2_dev,
@@ -203,39 +203,38 @@ index 85c7757..3fae8b6 100644
+ v4l2_info(&dev->v4l2_dev, "Registered subdev %s\n",
+ dev->vdic_sd->name);
+
- ret = v4l2_device_register_subdev_nodes(&dev->v4l2_dev);
- if (ret)
- goto unreg_subdevs;
-diff --git a/drivers/staging/media/imx6/capture/mx6-camif.h b/drivers/staging/media/imx6/capture/mx6-camif.h
-index 051932c..4573084 100644
---- a/drivers/staging/media/imx6/capture/mx6-camif.h
-+++ b/drivers/staging/media/imx6/capture/mx6-camif.h
-@@ -159,10 +159,12 @@ struct mx6cam_dev {
- bool encoder_on; /* encode is on */
- bool preview_on; /* preview is on */
- bool using_ic; /* IC is being used for encode */
+ ret = v4l2_device_register_subdev_nodes(&dev->v4l2_dev);
+ if (ret)
+ goto unreg_subdevs;
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.h
+===================================================================
+--- linux-3.19-rc2.orig/drivers/staging/media/imx6/capture/mx6-camif.h 2014-12-30 19:02:59.380661727 +0100
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-camif.h 2014-12-30 19:02:59.376661727 +0100
+@@ -159,10 +159,12 @@
+ bool encoder_on; /* encode is on */
+ bool preview_on; /* preview is on */
+ bool using_ic; /* IC is being used for encode */
+ bool using_vdic; /* VDIC is used for encode */
-
+
- /* encoder, preview, and mipi csi2 subdevices */
+ /* encoder, preview, vdic, and mipi csi2 subdevices */
- struct v4l2_subdev *encoder_sd;
- struct v4l2_subdev *preview_sd;
+ struct v4l2_subdev *encoder_sd;
+ struct v4l2_subdev *preview_sd;
+ struct v4l2_subdev *vdic_sd;
- struct v4l2_subdev *csi2_sd;
-
- /* sensor endpoints */
-@@ -199,5 +201,6 @@ struct mx6cam_ctx {
-
+ struct v4l2_subdev *csi2_sd;
+
+ /* sensor endpoints */
+@@ -199,5 +201,6 @@
+
struct v4l2_subdev *mx6cam_encoder_init(struct mx6cam_dev *dev);
struct v4l2_subdev *mx6cam_preview_init(struct mx6cam_dev *dev);
+struct v4l2_subdev *mx6cam_vdic_init(struct mx6cam_dev *dev);
-
+
#endif /* _MX6_CAMIF_H */
-diff --git a/drivers/staging/media/imx6/capture/mx6-vdic.c b/drivers/staging/media/imx6/capture/mx6-vdic.c
-new file mode 100644
-index 0000000..744b6f8
---- /dev/null
-+++ b/drivers/staging/media/imx6/capture/mx6-vdic.c
+Index: linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-vdic.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.19-rc2/drivers/staging/media/imx6/capture/mx6-vdic.c 2014-12-30 19:02:59.376661727 +0100
@@ -0,0 +1,1007 @@
+/*
+ * V4L2 Capture Deinterlacer Subdev for Freescale i.MX6 SOC
@@ -1244,5 +1243,3 @@ index 0000000..744b6f8
+ priv->dev = dev;
+ return &priv->sd;
+}
---
-1.8.5.5
diff --git a/patches/linux/3.19/0625-ARM-imx_v6_v7_defconfig-Enable-staging-video4linux-d.patch b/patches/linux/3.19/0625-ARM-imx_v6_v7_defconfig-Enable-staging-video4linux-d.patch
index d53ceaa..2480490 100644
--- a/patches/linux/3.19/0625-ARM-imx_v6_v7_defconfig-Enable-staging-video4linux-d.patch
+++ b/patches/linux/3.19/0625-ARM-imx_v6_v7_defconfig-Enable-staging-video4linux-d.patch
@@ -13,11 +13,11 @@ Signed-off-by: Steve Longerbeam <ste...@me...>
arch/arm/configs/imx_v6_v7_defconfig | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
-index 8fca6e2..8c83af9 100644
---- a/arch/arm/configs/imx_v6_v7_defconfig
-+++ b/arch/arm/configs/imx_v6_v7_defconfig
-@@ -154,6 +154,7 @@ CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+Index: linux-3.19-rc2/arch/arm/configs/imx_v6_v7_defconfig
+===================================================================
+--- linux-3.19-rc2.orig/arch/arm/configs/imx_v6_v7_defconfig 2014-12-30 19:03:56.048663528 +0100
++++ linux-3.19-rc2/arch/arm/configs/imx_v6_v7_defconfig 2014-12-30 19:03:56.044663527 +0100
+@@ -154,6 +154,7 @@
CONFIG_HW_RANDOM=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
@@ -25,15 +25,15 @@ index 8fca6e2..8c83af9 100644
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
-@@ -161,6 +162,7 @@ CONFIG_I2C_IMX=y
+@@ -162,6 +163,7 @@
CONFIG_SPI_IMX=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MC9S08DZ60=y
+CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_STMPE=y
- # CONFIG_HWMON is not set
- CONFIG_WATCHDOG=y
-@@ -248,6 +250,8 @@ CONFIG_IMX_SDMA=y
+ CONFIG_SENSORS_GPIO_FAN=y
+ CONFIG_THERMAL=y
+@@ -257,6 +259,8 @@
CONFIG_MXS_DMA=y
CONFIG_FSL_EDMA=y
CONFIG_STAGING=y
@@ -42,5 +42,3 @@ index 8fca6e2..8c83af9 100644
CONFIG_DRM_IMX=y
CONFIG_DRM_IMX_FB_HELPER=y
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
---
-1.8.5.5
hooks/post-receive
--
armadeus
|