public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP
@ 2024-02-18 20:43 Laurent Pinchart
  2024-02-18 20:43 ` [PATCH v13 05/12] dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible Laurent Pinchart
  2024-02-19  8:42 ` [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP Alexander Stein
  0 siblings, 2 replies; 3+ messages in thread
From: Laurent Pinchart @ 2024-02-18 20:43 UTC (permalink / raw)
  To: linux-media
  Cc: Adam Ford, Alexander Stein, Conor Dooley, Dafna Hirschfeld,
	Heiko Stuebner, Helen Koike, Kieran Bingham, Krzysztof Kozlowski,
	Paul Elder, Rob Herring, Tomi Valkeinen, devicetree,
	linux-rockchip

Hello,

This series extends the rkisp1 driver to support the ISP found in the
NXP i.MX8MP SoC.

The ISP IP cores in the Rockchip RK3399 (known as the "Rockchip ISP1")
and in the NXP i.MX8MP have the same origin, and have slightly diverged
over time as they are now independently developed (afaik) by Rockchip
and VeriSilicon. The latter is marketed under the name "ISP8000Nano",
and is close enough to the RK3399 ISP that it can easily be supported by
the same driver.

This version of the series specifically has been tested on a Polyhex
Debix model A with an IMX219 camera sensor (Raspberry Pi cam v2).

See individual patches for a detailed description of changes compared to
v12.

This should hopefully be the last version, I plan to send a pull request
in a few days, in time for v6.9.

Laurent Pinchart (2):
  media: rkisp1: Add and use rkisp1_has_feature() macro
  media: rkisp1: Configure gasket on i.MX8MP

Paul Elder (10):
  media: rkisp1: Support setting memory stride for main path
  media: rkisp1: Support devices lacking self path
  media: rkisp1: Support devices lacking dual crop
  dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible
  media: rkisp1: Add version enum for i.MX8MP ISP
  media: rkisp1: Support i.MX8MP's 34-bit DMA
  media: rkisp1: Add YC swap capability
  media: rkisp1: Add UYVY as an output format
  media: rkisp1: Fix endianness on raw streams on i.MX8MP
  media: rkisp1: Add match data for i.MX8MP ISP

 .../bindings/media/rockchip-isp1.yaml         |  37 +++-
 .../platform/rockchip/rkisp1/rkisp1-capture.c | 180 ++++++++++++++----
 .../platform/rockchip/rkisp1/rkisp1-common.h  |  35 +++-
 .../platform/rockchip/rkisp1/rkisp1-dev.c     |  71 ++++++-
 .../platform/rockchip/rkisp1/rkisp1-isp.c     | 131 ++++++++++++-
 .../platform/rockchip/rkisp1/rkisp1-regs.h    |  35 ++++
 .../platform/rockchip/rkisp1/rkisp1-resizer.c |  19 +-
 include/uapi/linux/rkisp1-config.h            |  50 ++---
 8 files changed, 472 insertions(+), 86 deletions(-)


base-commit: e0b8eb0f6d652981bfd9ba7c619c9d81ed087ad0
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v13 05/12] dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible
  2024-02-18 20:43 [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP Laurent Pinchart
@ 2024-02-18 20:43 ` Laurent Pinchart
  2024-02-19  8:42 ` [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP Alexander Stein
  1 sibling, 0 replies; 3+ messages in thread
From: Laurent Pinchart @ 2024-02-18 20:43 UTC (permalink / raw)
  To: linux-media
  Cc: Paul Elder, Adam Ford, Alexander Stein, Conor Dooley,
	Dafna Hirschfeld, Heiko Stuebner, Helen Koike, Kieran Bingham,
	Krzysztof Kozlowski, Rob Herring, Tomi Valkeinen, devicetree,
	linux-rockchip

From: Paul Elder <paul.elder@ideasonboard.com>

The i.MX8MP ISP is compatbile with the rkisp1 driver. Add it to the list
of compatible strings. While at it, expand on the description of the
clocks to make it clear which clock in the i.MX8MP ISP they map to,
based on the names from the datasheet.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Tested-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
Changes since v1:

- Add fsl,blk-ctrl property
- Make iommus, phys and phy-names conditional on compatible
---
 .../bindings/media/rockchip-isp1.yaml         | 37 ++++++++++++++++---
 1 file changed, 31 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
index afcaa427d48b..6be00aca4181 100644
--- a/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
@@ -16,6 +16,7 @@ description: |
 properties:
   compatible:
     enum:
+      - fsl,imx8mp-isp
       - rockchip,px30-cif-isp
       - rockchip,rk3399-cif-isp
 
@@ -36,9 +37,9 @@ properties:
     minItems: 3
     items:
       # isp0 and isp1
-      - description: ISP clock
-      - description: ISP AXI clock
-      - description: ISP AHB clock
+      - description: ISP clock (for imx8mp, clk)
+      - description: ISP AXI clock (for imx8mp, m_hclk)
+      - description: ISP AHB clock (for imx8mp, hclk)
       # only for isp1
       - description: ISP Pixel clock
 
@@ -52,6 +53,13 @@ properties:
       # only for isp1
       - const: pclk
 
+  fsl,blk-ctrl:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    maxItems: 1
+    description:
+      A phandle to the media block control for the ISP, followed by a cell
+      containing the index of the gasket.
+
   iommus:
     maxItems: 1
 
@@ -113,9 +121,6 @@ required:
   - interrupts
   - clocks
   - clock-names
-  - iommus
-  - phys
-  - phy-names
   - power-domains
   - ports
 
@@ -143,6 +148,26 @@ allOf:
       required:
         - interrupt-names
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx8mp-isp
+    then:
+      properties:
+        iommus: false
+        phys: false
+        phy-names: false
+      required:
+        - fsl,blk-ctrl
+    else:
+      properties:
+        fsl,blk-ctrl: false
+      required:
+        - iommus
+        - phys
+        - phy-names
+
 additionalProperties: false
 
 examples:
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP
  2024-02-18 20:43 [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP Laurent Pinchart
  2024-02-18 20:43 ` [PATCH v13 05/12] dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible Laurent Pinchart
@ 2024-02-19  8:42 ` Alexander Stein
  1 sibling, 0 replies; 3+ messages in thread
From: Alexander Stein @ 2024-02-19  8:42 UTC (permalink / raw)
  To: linux-media, Laurent Pinchart
  Cc: Adam Ford, Conor Dooley, Dafna Hirschfeld, Heiko Stuebner,
	Helen Koike, Kieran Bingham, Krzysztof Kozlowski, Paul Elder,
	Rob Herring, Tomi Valkeinen, devicetree, linux-rockchip

Hi Laurent,

thanks for the update.

Am Sonntag, 18. Februar 2024, 21:43:38 CET schrieb Laurent Pinchart:
> Hello,
> 
> This series extends the rkisp1 driver to support the ISP found in the
> NXP i.MX8MP SoC.
> 
> The ISP IP cores in the Rockchip RK3399 (known as the "Rockchip ISP1")
> and in the NXP i.MX8MP have the same origin, and have slightly diverged
> over time as they are now independently developed (afaik) by Rockchip
> and VeriSilicon. The latter is marketed under the name "ISP8000Nano",
> and is close enough to the RK3399 ISP that it can easily be supported by
> the same driver.
> 
> This version of the series specifically has been tested on a Polyhex
> Debix model A with an IMX219 camera sensor (Raspberry Pi cam v2).
> 
> See individual patches for a detailed description of changes compared to
> v12.
> 
> This should hopefully be the last version, I plan to send a pull request
> in a few days, in time for v6.9.

Still works on my platform TQMa8MPQL/MBa8MPxL + IMX327 using libcamera for 1080p + SRGGB10 debayering. For the missing commits:
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> Laurent Pinchart (2):
>   media: rkisp1: Add and use rkisp1_has_feature() macro
>   media: rkisp1: Configure gasket on i.MX8MP
> 
> Paul Elder (10):
>   media: rkisp1: Support setting memory stride for main path
>   media: rkisp1: Support devices lacking self path
>   media: rkisp1: Support devices lacking dual crop
>   dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible
>   media: rkisp1: Add version enum for i.MX8MP ISP
>   media: rkisp1: Support i.MX8MP's 34-bit DMA
>   media: rkisp1: Add YC swap capability
>   media: rkisp1: Add UYVY as an output format
>   media: rkisp1: Fix endianness on raw streams on i.MX8MP
>   media: rkisp1: Add match data for i.MX8MP ISP
> 
>  .../bindings/media/rockchip-isp1.yaml         |  37 +++-
>  .../platform/rockchip/rkisp1/rkisp1-capture.c | 180 ++++++++++++++----
>  .../platform/rockchip/rkisp1/rkisp1-common.h  |  35 +++-
>  .../platform/rockchip/rkisp1/rkisp1-dev.c     |  71 ++++++-
>  .../platform/rockchip/rkisp1/rkisp1-isp.c     | 131 ++++++++++++-
>  .../platform/rockchip/rkisp1/rkisp1-regs.h    |  35 ++++
>  .../platform/rockchip/rkisp1/rkisp1-resizer.c |  19 +-
>  include/uapi/linux/rkisp1-config.h            |  50 ++---
>  8 files changed, 472 insertions(+), 86 deletions(-)
> 
> 
> base-commit: e0b8eb0f6d652981bfd9ba7c619c9d81ed087ad0
> 


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-02-19  8:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-18 20:43 [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP Laurent Pinchart
2024-02-18 20:43 ` [PATCH v13 05/12] dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible Laurent Pinchart
2024-02-19  8:42 ` [PATCH v13 00/12] media: rkisp1: Add support for i.MX8MP Alexander Stein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox