* [PATCH v3 0/4] i.MX PXP scaler/CSC driver
@ 2018-09-06 9:02 Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding Philipp Zabel
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Philipp Zabel @ 2018-09-06 9:02 UTC (permalink / raw)
To: linux-arm-kernel
The Pixel Pipeline (PXP) is a memory-to-memory graphics processing
engine that supports scaling, colorspace conversion, alpha blending,
rotation, and pixel conversion via lookup table. Different versions are
present on various i.MX SoCs from i.MX23 to i.MX7. The latest versions
on i.MX6ULL and i.MX7D have grown an additional pipeline for dithering
and e-ink update processing that is ignored by this driver.
This series adds a V4L2 mem-to-mem scaler/CSC driver for the PXP version
found on i.MX6ULL SoCs which is a size reduced variant of the i.MX7 PXP.
The driver uses only the legacy pipeline, so it should be reasonably
easy to extend it to work with the older PXP versions found on i.MX6UL,
i.MX6SX, i.MX6SL, i.MX28, and i.MX23. The driver supports scaling and
colorspace conversion. There is currently no support for rotation,
alpha-blending, and the LUTs.
Changes since v2:
- fix Kconfig whitespace
- remove unused defines
- fix video_unregister_device/v4l2_m2m_release order in pxp_remove
- use GPL-2.0+ instead of GPL-2.0-or-later SPDX license identifer
- remove pxp_default_ycbcr_enc/quantization, always map to default
encoding/quantization
- rename pxp_fixup_colorimetry to pxp_fixup_colorimetry_cap
regards
Philipp
Philipp Zabel (4):
dt-bindings: media: Add i.MX Pixel Pipeline binding
ARM: dts: imx6ull: add pxp support
media: imx-pxp: add i.MX Pixel Pipeline driver
MAINTAINERS: add entry for i.MX PXP media mem2mem driver
.../devicetree/bindings/media/fsl-pxp.txt | 26 +
MAINTAINERS | 7 +
arch/arm/boot/dts/imx6ul.dtsi | 8 +
arch/arm/boot/dts/imx6ull.dtsi | 6 +
drivers/media/platform/Kconfig | 9 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/imx-pxp.c | 1752 +++++++++++++++++
drivers/media/platform/imx-pxp.h | 1685 ++++++++++++++++
8 files changed, 3495 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/fsl-pxp.txt
create mode 100644 drivers/media/platform/imx-pxp.c
create mode 100644 drivers/media/platform/imx-pxp.h
--
2.18.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding
2018-09-06 9:02 [PATCH v3 0/4] i.MX PXP scaler/CSC driver Philipp Zabel
@ 2018-09-06 9:02 ` Philipp Zabel
2018-09-06 10:36 ` Philippe De Muyter
2018-09-06 9:02 ` [PATCH v3 2/4] ARM: dts: imx6ull: add pxp support Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 4/4] MAINTAINERS: add entry for i.MX PXP media mem2mem driver Philipp Zabel
2 siblings, 1 reply; 6+ messages in thread
From: Philipp Zabel @ 2018-09-06 9:02 UTC (permalink / raw)
To: linux-arm-kernel
Add DT binding documentation for the Pixel Pipeline (PXP) found on
various NXP i.MX SoCs.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Rob Herring <robh@kernel.org>
---
No changes since v2.
---
.../devicetree/bindings/media/fsl-pxp.txt | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/fsl-pxp.txt
diff --git a/Documentation/devicetree/bindings/media/fsl-pxp.txt b/Documentation/devicetree/bindings/media/fsl-pxp.txt
new file mode 100644
index 000000000000..2477e7f87381
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/fsl-pxp.txt
@@ -0,0 +1,26 @@
+Freescale Pixel Pipeline
+========================
+
+The Pixel Pipeline (PXP) is a memory-to-memory graphics processing engine
+that supports scaling, colorspace conversion, alpha blending, rotation, and
+pixel conversion via lookup table. Different versions are present on various
+i.MX SoCs from i.MX23 to i.MX7.
+
+Required properties:
+- compatible: should be "fsl,<soc>-pxp", where SoC can be one of imx23, imx28,
+ imx6dl, imx6sl, imx6ul, imx6sx, imx6ull, or imx7d.
+- reg: the register base and size for the device registers
+- interrupts: the PXP interrupt, two interrupts for imx6ull and imx7d.
+- clock-names: should be "axi"
+- clocks: the PXP AXI clock
+
+Example:
+
+pxp at 21cc000 {
+ compatible = "fsl,imx6ull-pxp";
+ reg = <0x021cc000 0x4000>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "axi";
+ clocks = <&clks IMX6UL_CLK_PXP>;
+};
--
2.18.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding
2018-09-06 9:02 ` [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding Philipp Zabel
@ 2018-09-06 10:36 ` Philippe De Muyter
2018-09-06 10:42 ` Philipp Zabel
0 siblings, 1 reply; 6+ messages in thread
From: Philippe De Muyter @ 2018-09-06 10:36 UTC (permalink / raw)
To: linux-arm-kernel
Hi Philipp,
On Thu, Sep 06, 2018 at 11:02:12AM +0200, Philipp Zabel wrote:
> Add DT binding documentation for the Pixel Pipeline (PXP) found on
> various NXP i.MX SoCs.
>
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
> No changes since v2.
> ---
> .../devicetree/bindings/media/fsl-pxp.txt | 26 +++++++++++++++++++
> 1 file changed, 26 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/fsl-pxp.txt
>
> diff --git a/Documentation/devicetree/bindings/media/fsl-pxp.txt b/Documentation/devicetree/bindings/media/fsl-pxp.txt
> new file mode 100644
> index 000000000000..2477e7f87381
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/fsl-pxp.txt
> @@ -0,0 +1,26 @@
> +Freescale Pixel Pipeline
> +========================
> +
> +The Pixel Pipeline (PXP) is a memory-to-memory graphics processing engine
> +that supports scaling, colorspace conversion, alpha blending, rotation, and
> +pixel conversion via lookup table. Different versions are present on various
> +i.MX SoCs from i.MX23 to i.MX7.
> +
> +Required properties:
> +- compatible: should be "fsl,<soc>-pxp", where SoC can be one of imx23, imx28,
> + imx6dl, imx6sl, imx6ul, imx6sx, imx6ull, or imx7d.
Is imx6q also compatible ?
Best regards
Philippe
--
Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding
2018-09-06 10:36 ` Philippe De Muyter
@ 2018-09-06 10:42 ` Philipp Zabel
0 siblings, 0 replies; 6+ messages in thread
From: Philipp Zabel @ 2018-09-06 10:42 UTC (permalink / raw)
To: linux-arm-kernel
Hi Philippe,
On Thu, 2018-09-06 at 12:36 +0200, Philippe De Muyter wrote:
[...]
> > --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/fsl-pxp.txt
> > @@ -0,0 +1,26 @@
> > +Freescale Pixel Pipeline
> > +========================
> > +
> > +The Pixel Pipeline (PXP) is a memory-to-memory graphics processing engine
> > +that supports scaling, colorspace conversion, alpha blending, rotation, and
> > +pixel conversion via lookup table. Different versions are present on various
> > +i.MX SoCs from i.MX23 to i.MX7.
> > +
> > +Required properties:
> > +- compatible: should be "fsl,<soc>-pxp", where SoC can be one of imx23, imx28,
> > + imx6dl, imx6sl, imx6ul, imx6sx, imx6ull, or imx7d.
>
> Is imx6q also compatible ?
There is no pixel pipeline on i.MX6Q. It has the IPU image converter
that can be used for scaling and colorspace conversion instead [1].
[1] https://patchwork.linuxtv.org/patch/51045/
regards
Philipp
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 2/4] ARM: dts: imx6ull: add pxp support
2018-09-06 9:02 [PATCH v3 0/4] i.MX PXP scaler/CSC driver Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding Philipp Zabel
@ 2018-09-06 9:02 ` Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 4/4] MAINTAINERS: add entry for i.MX PXP media mem2mem driver Philipp Zabel
2 siblings, 0 replies; 6+ messages in thread
From: Philipp Zabel @ 2018-09-06 9:02 UTC (permalink / raw)
To: linux-arm-kernel
Add the device node for the i.MX6ULL Pixel Pipeline (PXP).
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
No changes since v2.
---
arch/arm/boot/dts/imx6ul.dtsi | 8 ++++++++
arch/arm/boot/dts/imx6ull.dtsi | 6 ++++++
2 files changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi
index 6dc0b569acdf..051d42676160 100644
--- a/arch/arm/boot/dts/imx6ul.dtsi
+++ b/arch/arm/boot/dts/imx6ul.dtsi
@@ -945,6 +945,14 @@
status = "disabled";
};
+ pxp: pxp at 21cc000 {
+ compatible = "fsl,imx6ul-pxp";
+ reg = <0x021cc000 0x4000>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "axi";
+ clocks = <&clks IMX6UL_CLK_PXP>;
+ };
+
qspi: qspi at 21e0000 {
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/boot/dts/imx6ull.dtsi b/arch/arm/boot/dts/imx6ull.dtsi
index cd1776a7015a..c0518490b58c 100644
--- a/arch/arm/boot/dts/imx6ull.dtsi
+++ b/arch/arm/boot/dts/imx6ull.dtsi
@@ -57,3 +57,9 @@
};
};
};
+
+&pxp {
+ compatible = "fsl,imx6ull-pxp";
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+};
--
2.18.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 4/4] MAINTAINERS: add entry for i.MX PXP media mem2mem driver
2018-09-06 9:02 [PATCH v3 0/4] i.MX PXP scaler/CSC driver Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 2/4] ARM: dts: imx6ull: add pxp support Philipp Zabel
@ 2018-09-06 9:02 ` Philipp Zabel
2 siblings, 0 replies; 6+ messages in thread
From: Philipp Zabel @ 2018-09-06 9:02 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
MAINTAINERS | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index a5b256b25905..2e23c644f5d3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8994,6 +8994,13 @@ F: drivers/staging/media/imx/
F: include/linux/imx-media.h
F: include/media/imx.h
+MEDIA DRIVER FOR FREESCALE IMX PXP
+M: Philipp Zabel <p.zabel@pengutronix.de>
+L: linux-media at vger.kernel.org
+T: git git://linuxtv.org/media_tree.git
+S: Maintained
+F: drivers/media/platform/imx-pxp.[ch]
+
MEDIA DRIVERS FOR HELENE
M: Abylay Ospan <aospan@netup.ru>
L: linux-media at vger.kernel.org
--
2.18.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-09-06 10:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-06 9:02 [PATCH v3 0/4] i.MX PXP scaler/CSC driver Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 1/4] dt-bindings: media: Add i.MX Pixel Pipeline binding Philipp Zabel
2018-09-06 10:36 ` Philippe De Muyter
2018-09-06 10:42 ` Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 2/4] ARM: dts: imx6ull: add pxp support Philipp Zabel
2018-09-06 9:02 ` [PATCH v3 4/4] MAINTAINERS: add entry for i.MX PXP media mem2mem driver Philipp Zabel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).