mbox series

[v5,00/10] media: rkisp1: Add support for i.MX8MP

Message ID 20240106160221.4183409-1-paul.elder@ideasonboard.com (mailing list archive)
Headers show
Series media: rkisp1: Add support for i.MX8MP | expand

Message

Paul Elder Jan. 6, 2024, 4:02 p.m. UTC
This patch series depends on the series "media: rkisp1: Fix shared
interrupt handling" [1]

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.

The last two patches add support for UYVY output format, which can be
implemented on the ISP version in the i.MX8MP but not in the one in the
RK3399.

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

In v5 the patch "media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP" has been
dropped.

[1] https://lore.kernel.org/all/20231218-rkisp-shirq-fix-v1-0-173007628248@ideasonboard.com/

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

Paul Elder (8):
  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 match data for i.MX8MP ISP
  media: rkisp1: Shift DMA buffer addresses on i.MX8MP
  media: rkisp1: Add YC swap capability
  media: rkisp1: Add UYVY as an output format

 .../bindings/media/rockchip-isp1.yaml         |  37 ++++-
 .../platform/rockchip/rkisp1/rkisp1-capture.c | 130 ++++++++++++-----
 .../platform/rockchip/rkisp1/rkisp1-common.h  |  37 ++++-
 .../platform/rockchip/rkisp1/rkisp1-dev.c     |  74 ++++++++--
 .../platform/rockchip/rkisp1/rkisp1-isp.c     | 131 +++++++++++++++++-
 .../platform/rockchip/rkisp1/rkisp1-regs.h    |  27 ++++
 .../platform/rockchip/rkisp1/rkisp1-resizer.c |  12 +-
 include/uapi/linux/rkisp1-config.h            |   2 +
 8 files changed, 392 insertions(+), 58 deletions(-)

Comments

Tomi Valkeinen Jan. 8, 2024, 12:33 p.m. UTC | #1
Hi Paul,

On 06/01/2024 18:02, Paul Elder wrote:
> This patch series depends on the series "media: rkisp1: Fix shared
> interrupt handling" [1]
> 
> 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.
> 
> The last two patches add support for UYVY output format, which can be
> implemented on the ISP version in the i.MX8MP but not in the one in the
> RK3399.
> 
> This version of the series specifically has been tested on a Polyhex
> Debix model A with an imx219 (Raspberry Pi cam v2).
> 
> In v5 the patch "media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP" has been
> dropped.
> 
> [1] https://lore.kernel.org/all/20231218-rkisp-shirq-fix-v1-0-173007628248@ideasonboard.com/

I have tested this with Debix SOM A board, and works fine for me, so:

Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

However, I do see v4l2-compliance complaints. I can't say if those 
already exist before this series, or did this series cause some of them.

  Tomi

> Laurent Pinchart (2):
>    media: rkisp1: Add and use rkisp1_has_feature() macro
>    media: rkisp1: Configure gasket on i.MX8MP
> 
> Paul Elder (8):
>    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 match data for i.MX8MP ISP
>    media: rkisp1: Shift DMA buffer addresses on i.MX8MP
>    media: rkisp1: Add YC swap capability
>    media: rkisp1: Add UYVY as an output format
> 
>   .../bindings/media/rockchip-isp1.yaml         |  37 ++++-
>   .../platform/rockchip/rkisp1/rkisp1-capture.c | 130 ++++++++++++-----
>   .../platform/rockchip/rkisp1/rkisp1-common.h  |  37 ++++-
>   .../platform/rockchip/rkisp1/rkisp1-dev.c     |  74 ++++++++--
>   .../platform/rockchip/rkisp1/rkisp1-isp.c     | 131 +++++++++++++++++-
>   .../platform/rockchip/rkisp1/rkisp1-regs.h    |  27 ++++
>   .../platform/rockchip/rkisp1/rkisp1-resizer.c |  12 +-
>   include/uapi/linux/rkisp1-config.h            |   2 +
>   8 files changed, 392 insertions(+), 58 deletions(-)
>