Message ID | 20231129092759.242641-1-paul.elder@ideasonboard.com (mailing list archive) |
---|---|
Headers |
Received: from sv.mirrors.kernel.org ([139.178.88.99]) by www.linuxtv.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <linux-media+bounces-1322-patchwork=linuxtv.org@vger.kernel.org>) id 1r8Gs7-004PgR-54 for patchwork@linuxtv.org; Wed, 29 Nov 2023 09:28:45 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id A7FC3282DBD for <patchwork@linuxtv.org>; Wed, 29 Nov 2023 09:28:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 98B9814A99; Wed, 29 Nov 2023 09:28:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="cdIKcKef" X-Original-To: linux-media@vger.kernel.org Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9020626B3; Wed, 29 Nov 2023 01:28:16 -0800 (PST) Received: from pyrite.hamster-moth.ts.net (h175-177-049-135.catv02.itscom.jp [175.177.49.135]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 99D122B6; Wed, 29 Nov 2023 10:27:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1701250058; bh=TEIBgpUjK6NYJRiaGUhsgKnE4DjYmC8agG6/GUA9vAM=; h=From:To:Cc:Subject:Date:From; b=cdIKcKefkWjwzhIvpuWrxnGyyHUS9fT9pqK9a/uCs+7BYq+w5lWzHI5A3SEFv6/xp 1tShxd13EgaI4oarWFRcC6RYkS1wDdgNy6qwmh6bJqiYbX3XUvdRhAW9tHGfdWSpVB QcKFGgqtKLDDbqgWn7eJ9VnJYHWdkex0l8ZgribY= From: Paul Elder <paul.elder@ideasonboard.com> To: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: kieran.bingham@ideasonboard.com, tomi.valkeinen@ideasonboard.com, umang.jain@ideasonboard.com, aford173@gmail.com, Paul Elder <paul.elder@ideasonboard.com> Subject: [PATCH v4 00/11] media: rkisp1: Add support for i.MX8MP Date: Wed, 29 Nov 2023 18:27:48 +0900 Message-Id: <20231129092759.242641-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.39.2 Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: <linux-media.vger.kernel.org> List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-LSpam-Score: -4.8 (----) X-LSpam-Report: No, score=-4.8 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3 autolearn=unavailable autolearn_force=no |
Series |
media: rkisp1: Add support for i.MX8MP
|
|
Message
Paul Elder
Nov. 29, 2023, 9:27 a.m. UTC
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). Laurent Pinchart (2): media: rkisp1: Add and use rkisp1_has_feature() macro media: rkisp1: Configure gasket on i.MX8MP Paul Elder (9): media: rkisp1: Support setting memory stride for main path media: rkisp1: Support devices lacking self path media: rkisp1: Support devices lacking dual crop media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP 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 | 128 ++++++++++++----- .../platform/rockchip/rkisp1/rkisp1-common.h | 35 ++++- .../platform/rockchip/rkisp1/rkisp1-dev.c | 66 +++++++-- .../platform/rockchip/rkisp1/rkisp1-isp.c | 131 +++++++++++++++++- .../platform/rockchip/rkisp1/rkisp1-regs.h | 32 +++++ .../platform/rockchip/rkisp1/rkisp1-resizer.c | 27 ++-- include/uapi/linux/rkisp1-config.h | 2 + 8 files changed, 398 insertions(+), 60 deletions(-)
Comments
Hi Paul, thanks for the series. Am Mittwoch, 29. November 2023, 10:27:48 CET schrieb Paul Elder: > 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). I've created a setup on TQMa8MPxL/MBa8MPxL and a Sony IMX327 sensor for a while now. I can stream 1080p video at 45 FPS to HDMI output without any special configuration. 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 (9): > media: rkisp1: Support setting memory stride for main path > media: rkisp1: Support devices lacking self path > media: rkisp1: Support devices lacking dual crop > media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP > 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 | 128 ++++++++++++----- > .../platform/rockchip/rkisp1/rkisp1-common.h | 35 ++++- > .../platform/rockchip/rkisp1/rkisp1-dev.c | 66 +++++++-- > .../platform/rockchip/rkisp1/rkisp1-isp.c | 131 +++++++++++++++++- > .../platform/rockchip/rkisp1/rkisp1-regs.h | 32 +++++ > .../platform/rockchip/rkisp1/rkisp1-resizer.c | 27 ++-- > include/uapi/linux/rkisp1-config.h | 2 + > 8 files changed, 398 insertions(+), 60 deletions(-)
On Wed, Nov 29, 2023 at 3:28 AM Paul Elder <paul.elder@ideasonboard.com> wrote: > > 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). I have tested previous versions with a imx219 camera running in 4-lane mode with great success. Should I apply this series against linux-next, or do I need to apply it against something in the media tree to test? I hope to test it tonight or tomorrow. adam > > Laurent Pinchart (2): > media: rkisp1: Add and use rkisp1_has_feature() macro > media: rkisp1: Configure gasket on i.MX8MP > > Paul Elder (9): > media: rkisp1: Support setting memory stride for main path > media: rkisp1: Support devices lacking self path > media: rkisp1: Support devices lacking dual crop > media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP > 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 | 128 ++++++++++++----- > .../platform/rockchip/rkisp1/rkisp1-common.h | 35 ++++- > .../platform/rockchip/rkisp1/rkisp1-dev.c | 66 +++++++-- > .../platform/rockchip/rkisp1/rkisp1-isp.c | 131 +++++++++++++++++- > .../platform/rockchip/rkisp1/rkisp1-regs.h | 32 +++++ > .../platform/rockchip/rkisp1/rkisp1-resizer.c | 27 ++-- > include/uapi/linux/rkisp1-config.h | 2 + > 8 files changed, 398 insertions(+), 60 deletions(-) > > -- > 2.39.2 >
On Wed, Nov 29, 2023 at 05:36:25AM -0600, Adam Ford wrote: > On Wed, Nov 29, 2023 at 3:28 AM Paul Elder <paul.elder@ideasonboard.com> wrote: > > > > 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). > > I have tested previous versions with a imx219 camera running in 4-lane > mode with great success. Should I apply this series against > linux-next, or do I need to apply it against something in the media > tree to test? I hope to test it tonight or tomorrow. I have it applied on 6.7-rc1. Thanks, Paul > > > > Laurent Pinchart (2): > > media: rkisp1: Add and use rkisp1_has_feature() macro > > media: rkisp1: Configure gasket on i.MX8MP > > > > Paul Elder (9): > > media: rkisp1: Support setting memory stride for main path > > media: rkisp1: Support devices lacking self path > > media: rkisp1: Support devices lacking dual crop > > media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP > > 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 | 128 ++++++++++++----- > > .../platform/rockchip/rkisp1/rkisp1-common.h | 35 ++++- > > .../platform/rockchip/rkisp1/rkisp1-dev.c | 66 +++++++-- > > .../platform/rockchip/rkisp1/rkisp1-isp.c | 131 +++++++++++++++++- > > .../platform/rockchip/rkisp1/rkisp1-regs.h | 32 +++++ > > .../platform/rockchip/rkisp1/rkisp1-resizer.c | 27 ++-- > > include/uapi/linux/rkisp1-config.h | 2 + > > 8 files changed, 398 insertions(+), 60 deletions(-) > > > > -- > > 2.39.2 > >
On Thu, Nov 30, 2023 at 3:45 AM Paul Elder <paul.elder@ideasonboard.com> wrote: > > On Wed, Nov 29, 2023 at 05:36:25AM -0600, Adam Ford wrote: > > On Wed, Nov 29, 2023 at 3:28 AM Paul Elder <paul.elder@ideasonboard.com> wrote: > > > > > > 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). > > > > I have tested previous versions with a imx219 camera running in 4-lane > > mode with great success. Should I apply this series against > > linux-next, or do I need to apply it against something in the media > > tree to test? I hope to test it tonight or tomorrow. > > I have it applied on 6.7-rc1. > For the series, Tested-by: Adam Ford <aford173@gmail.com> #imx8mp-beacon > > Thanks, > > Paul > > > > > > > Laurent Pinchart (2): > > > media: rkisp1: Add and use rkisp1_has_feature() macro > > > media: rkisp1: Configure gasket on i.MX8MP > > > > > > Paul Elder (9): > > > media: rkisp1: Support setting memory stride for main path > > > media: rkisp1: Support devices lacking self path > > > media: rkisp1: Support devices lacking dual crop > > > media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP > > > 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 | 128 ++++++++++++----- > > > .../platform/rockchip/rkisp1/rkisp1-common.h | 35 ++++- > > > .../platform/rockchip/rkisp1/rkisp1-dev.c | 66 +++++++-- > > > .../platform/rockchip/rkisp1/rkisp1-isp.c | 131 +++++++++++++++++- > > > .../platform/rockchip/rkisp1/rkisp1-regs.h | 32 +++++ > > > .../platform/rockchip/rkisp1/rkisp1-resizer.c | 27 ++-- > > > include/uapi/linux/rkisp1-config.h | 2 + > > > 8 files changed, 398 insertions(+), 60 deletions(-) > > > > > > -- > > > 2.39.2 > > >
Hi, Am Mittwoch, 29. November 2023, 11:58:39 CET schrieb Alexander Stein: > Hi Paul, > > thanks for the series. > > Am Mittwoch, 29. November 2023, 10:27:48 CET schrieb Paul Elder: > > 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). > > I've created a setup on TQMa8MPxL/MBa8MPxL and a Sony IMX327 sensor for a > while now. I can stream 1080p video at 45 FPS to HDMI output without any > special configuration. Just for the records. the 45 FPS limit is introduced by (HDMI) output. Using a gstreamer testsink "outpu", I can run at 60 FPS. Best regards, Alexander > 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 (9): > > media: rkisp1: Support setting memory stride for main path > > media: rkisp1: Support devices lacking self path > > media: rkisp1: Support devices lacking dual crop > > media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP > > 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 | 128 ++++++++++++----- > > .../platform/rockchip/rkisp1/rkisp1-common.h | 35 ++++- > > .../platform/rockchip/rkisp1/rkisp1-dev.c | 66 +++++++-- > > .../platform/rockchip/rkisp1/rkisp1-isp.c | 131 +++++++++++++++++- > > .../platform/rockchip/rkisp1/rkisp1-regs.h | 32 +++++ > > .../platform/rockchip/rkisp1/rkisp1-resizer.c | 27 ++-- > > include/uapi/linux/rkisp1-config.h | 2 + > > 8 files changed, 398 insertions(+), 60 deletions(-)