Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Hi, 2014-07-30 14:32 GMT+02:00 Philipp Zabel p.za...@pengutronix.de: Am Mittwoch, den 30.07.2014, 20:16 +0800 schrieb Shawn Guo: On Tue, Jul 29, 2014 at 07:06:25PM +0200, Philipp Zabel wrote: I followed the step to generate the firmware v4l-coda960-imx6q, and tested it on next-20140725 with patch 'ARM: dts: imx6qdl: Enable CODA960 VPU' applied on top of it. But I got the error of 'Wrong firmwarel' as below. [2.582837] coda 204.vpu: requesting firmware 'v4l-coda960-imx6q.bin' for CODA960 [2.593344] coda 204.vpu: Firmware code revision: 0 [2.598649] coda 204.vpu: Wrong firmware. Hw: CODA960, Fw: (0x), Version: 0.0.0 I just tried with the same kernel, and the above download, converted with the program in the referenced mail, and I get this: coda 204.vpu: Firmware code revision: 36350 coda 204.vpu: Initialized CODA960. coda 204.vpu: Unsupported firmware version: 2.1.9 coda 204.vpu: codec registered as /dev/video0 Okay, the reason I'm running into the issue is that I'm using the FSL U-Boot which turns off VDDPU at initialization. In that case you need to also apply the Generic Device Tree based power domain look-up and i.MX6 PU power domain support series. I'll have to check the current state of that. I am having the same issue with firmware 3.1.1 and can't find version 2.1.5. Is there a way to make it work ? Does anybody has news from Freescale and official support for firmwares in mainline ? This is (as Robert Schwebel said) unusable with a recent kernel, and that's a shame... Thx, JM -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
On Tue, Jul 29, 2014 at 07:06:25PM +0200, Philipp Zabel wrote: I followed the step to generate the firmware v4l-coda960-imx6q, and tested it on next-20140725 with patch 'ARM: dts: imx6qdl: Enable CODA960 VPU' applied on top of it. But I got the error of 'Wrong firmwarel' as below. [2.582837] coda 204.vpu: requesting firmware 'v4l-coda960-imx6q.bin' for CODA960 [2.593344] coda 204.vpu: Firmware code revision: 0 [2.598649] coda 204.vpu: Wrong firmware. Hw: CODA960, Fw: (0x), Version: 0.0.0 I just tried with the same kernel, and the above download, converted with the program in the referenced mail, and I get this: coda 204.vpu: Firmware code revision: 36350 coda 204.vpu: Initialized CODA960. coda 204.vpu: Unsupported firmware version: 2.1.9 coda 204.vpu: codec registered as /dev/video0 Okay, the reason I'm running into the issue is that I'm using the FSL U-Boot which turns off VDDPU at initialization. Shawn -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Am Mittwoch, den 30.07.2014, 20:16 +0800 schrieb Shawn Guo: On Tue, Jul 29, 2014 at 07:06:25PM +0200, Philipp Zabel wrote: I followed the step to generate the firmware v4l-coda960-imx6q, and tested it on next-20140725 with patch 'ARM: dts: imx6qdl: Enable CODA960 VPU' applied on top of it. But I got the error of 'Wrong firmwarel' as below. [2.582837] coda 204.vpu: requesting firmware 'v4l-coda960-imx6q.bin' for CODA960 [2.593344] coda 204.vpu: Firmware code revision: 0 [2.598649] coda 204.vpu: Wrong firmware. Hw: CODA960, Fw: (0x), Version: 0.0.0 I just tried with the same kernel, and the above download, converted with the program in the referenced mail, and I get this: coda 204.vpu: Firmware code revision: 36350 coda 204.vpu: Initialized CODA960. coda 204.vpu: Unsupported firmware version: 2.1.9 coda 204.vpu: codec registered as /dev/video0 Okay, the reason I'm running into the issue is that I'm using the FSL U-Boot which turns off VDDPU at initialization. In that case you need to also apply the Generic Device Tree based power domain look-up and i.MX6 PU power domain support series. I'll have to check the current state of that. regards Philipp -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Hi Philipp, On Tue, Jul 22, 2014 at 02:50:33PM +0200, Philipp Zabel wrote: The firmware-imx packages referenced in the Freescale meta-fsl-arm repository on github.com contain VPU firmware files. Their use is restricted by an EULA. For example: http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-3.0.35-4.0.0.bin This contains the files vpu_fw_imx6q.bin and vpu_fw_imx6d.bin, which can be converted into v4l-coda960-imx6q.bin and v4l-coda960-imx6dl.bin, respectively, by dropping the headers and reordering the rest. I described this for i.MX53 earlier here: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/181101.html I followed the step to generate the firmware v4l-coda960-imx6q, and tested it on next-20140725 with patch 'ARM: dts: imx6qdl: Enable CODA960 VPU' applied on top of it. But I got the error of 'Wrong firmwarel' as below. [2.582837] coda 204.vpu: requesting firmware 'v4l-coda960-imx6q.bin' for CODA960 [2.593344] coda 204.vpu: Firmware code revision: 0 [2.598649] coda 204.vpu: Wrong firmware. Hw: CODA960, Fw: (0x), Version: 0.0.0 What am I missing here? Shawn -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Hi Shawn, On Tue, Jul 29, 2014 at 5:30 PM, Shawn Guo shawn@linaro.org wrote: Hi Philipp, On Tue, Jul 22, 2014 at 02:50:33PM +0200, Philipp Zabel wrote: The firmware-imx packages referenced in the Freescale meta-fsl-arm repository on github.com contain VPU firmware files. Their use is restricted by an EULA. For example: http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-3.0.35-4.0.0.bin This contains the files vpu_fw_imx6q.bin and vpu_fw_imx6d.bin, which can be converted into v4l-coda960-imx6q.bin and v4l-coda960-imx6dl.bin, respectively, by dropping the headers and reordering the rest. I described this for i.MX53 earlier here: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/181101.html I followed the step to generate the firmware v4l-coda960-imx6q, and tested it on next-20140725 with patch 'ARM: dts: imx6qdl: Enable CODA960 VPU' applied on top of it. But I got the error of 'Wrong firmwarel' as below. [2.582837] coda 204.vpu: requesting firmware 'v4l-coda960-imx6q.bin' for CODA960 [2.593344] coda 204.vpu: Firmware code revision: 0 [2.598649] coda 204.vpu: Wrong firmware. Hw: CODA960, Fw: (0x), Version: 0.0.0 I just tried with the same kernel, and the above download, converted with the program in the referenced mail, and I get this: coda 204.vpu: Firmware code revision: 36350 coda 204.vpu: Initialized CODA960. coda 204.vpu: Unsupported firmware version: 2.1.9 coda 204.vpu: codec registered as /dev/video0 md5sum of /lib/firmware/v4l-coda960-imx6q.bin: af4971a37c7a3a50c99f7dfd36104c63 Note that I so far tested the kernel driver with the older firmware version 2.1.5: coda 204.vpu: Firmware code revision: 32515 coda 204.vpu: Initialized CODA960. coda 204.vpu: Firmware version: 2.1.5 md5sum of /lib/firmware/v4l-coda960-imx6q.bin: f58119103d94adcd5c2d5070d65ebd26 I was under the impression that I had obtained this version from the very same URI previously, but I am not 100% sure about that. Also there is yet another version available from http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-3.10.17-1.0.0.bin, which currently contains firmware version 3.1.1: coda 204.vpu: Firmware code revision: 46056 coda 204.vpu: Initialized CODA960. coda 204.vpu: Unsupported firmware version: 3.1.1 md5sum of /lib/firmware/v4l-coda960-imx6q.bin: 2a087c2e4043c3c3a4104765a33b12aa regards Philipp -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Am Montag, den 21.07.2014, 21:19 +0200 schrieb Robert Schwebel: Hi Mauro, On Mon, Jul 21, 2014 at 04:01:28PM -0300, Mauro Carvalho Chehab wrote: This patch adds support for the CODA960 VPU in Freescale i.MX6 SoCs. It enables h.264 and MPEG4 encoding and decoding support. Besides the usual register shifting, the CODA960 gains frame memory control and GDI registers that are set up for linear mapping right now, needs ENC_PIC_SRC_INDEX to be set beyond the number of internal buffers for some reason, and has subsampling buffers that need to be set up. Also, the work buffer size is increased to 80 KiB. The CODA960 firmware spins if there is not enough input data in the bitstream buffer. To make it continue, buffers need to be copied into the bitstream as soon as they are queued. As the bitstream fifo is written into from two places, it must be protected with a mutex. For that, using a threaded interrupt handler is necessary. Signed-off-by: Philipp Zabel p.za...@pengutronix.de --- ... + [CODA_IMX6Q] = { + .firmware = v4l-coda960-imx6q.bin, + .product= CODA_960, + .codecs = coda9_codecs, + .num_codecs = ARRAY_SIZE(coda9_codecs), + }, + [CODA_IMX6DL] = { + .firmware = v4l-coda960-imx6dl.bin, + .product= CODA_960, + .codecs = coda9_codecs, + .num_codecs = ARRAY_SIZE(coda9_codecs), + }, Where are those firmware files available? Freescale currently distributes the firmware with their multimedia packages, but in header hex array form; we are trying to find a proper solution (hopefully by using the linux firmware repository) for mainline. The firmware-imx packages referenced in the Freescale meta-fsl-arm repository on github.com contain VPU firmware files. Their use is restricted by an EULA. For example: http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-3.0.35-4.0.0.bin This contains the files vpu_fw_imx6q.bin and vpu_fw_imx6d.bin, which can be converted into v4l-coda960-imx6q.bin and v4l-coda960-imx6dl.bin, respectively, by dropping the headers and reordering the rest. I described this for i.MX53 earlier here: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/181101.html The Freescale kernel people are currently discussing this internally with their legal folks, see this discussion: http://www.spinics.net/lists/linux-media/msg78273.html regards Philipp -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Em Fri, 11 Jul 2014 11:36:17 +0200 Philipp Zabel p.za...@pengutronix.de escreveu: This patch adds support for the CODA960 VPU in Freescale i.MX6 SoCs. It enables h.264 and MPEG4 encoding and decoding support. Besides the usual register shifting, the CODA960 gains frame memory control and GDI registers that are set up for linear mapping right now, needs ENC_PIC_SRC_INDEX to be set beyond the number of internal buffers for some reason, and has subsampling buffers that need to be set up. Also, the work buffer size is increased to 80 KiB. The CODA960 firmware spins if there is not enough input data in the bitstream buffer. To make it continue, buffers need to be copied into the bitstream as soon as they are queued. As the bitstream fifo is written into from two places, it must be protected with a mutex. For that, using a threaded interrupt handler is necessary. Signed-off-by: Philipp Zabel p.za...@pengutronix.de --- ... + [CODA_IMX6Q] = { + .firmware = v4l-coda960-imx6q.bin, + .product= CODA_960, + .codecs = coda9_codecs, + .num_codecs = ARRAY_SIZE(coda9_codecs), + }, + [CODA_IMX6DL] = { + .firmware = v4l-coda960-imx6dl.bin, + .product= CODA_960, + .codecs = coda9_codecs, + .num_codecs = ARRAY_SIZE(coda9_codecs), + }, Where are those firmware files available? Regards, Mauro -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 06/32] [media] coda: Add encoder/decoder support for CODA960
Hi Mauro, On Mon, Jul 21, 2014 at 04:01:28PM -0300, Mauro Carvalho Chehab wrote: This patch adds support for the CODA960 VPU in Freescale i.MX6 SoCs. It enables h.264 and MPEG4 encoding and decoding support. Besides the usual register shifting, the CODA960 gains frame memory control and GDI registers that are set up for linear mapping right now, needs ENC_PIC_SRC_INDEX to be set beyond the number of internal buffers for some reason, and has subsampling buffers that need to be set up. Also, the work buffer size is increased to 80 KiB. The CODA960 firmware spins if there is not enough input data in the bitstream buffer. To make it continue, buffers need to be copied into the bitstream as soon as they are queued. As the bitstream fifo is written into from two places, it must be protected with a mutex. For that, using a threaded interrupt handler is necessary. Signed-off-by: Philipp Zabel p.za...@pengutronix.de --- ... + [CODA_IMX6Q] = { + .firmware = v4l-coda960-imx6q.bin, + .product= CODA_960, + .codecs = coda9_codecs, + .num_codecs = ARRAY_SIZE(coda9_codecs), + }, + [CODA_IMX6DL] = { + .firmware = v4l-coda960-imx6dl.bin, + .product= CODA_960, + .codecs = coda9_codecs, + .num_codecs = ARRAY_SIZE(coda9_codecs), + }, Where are those firmware files available? Freescale currently distributes the firmware with their multimedia packages, but in header hex array form; we are trying to find a proper solution (hopefully by using the linux firmware repository) for mainline. The Freescale kernel people are currently discussing this internally with their legal folks, see this discussion: http://www.spinics.net/lists/linux-media/msg78273.html rsc -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html