[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHCN7xKy7w0Kwf8Oyjd6dFLzAhiGiqdaYOj=qfA4kSRthD5Law@mail.gmail.com>
Date: Thu, 24 Apr 2025 20:59:18 -0500
From: Adam Ford <aford173@...il.com>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>, linux-media <linux-media@...r.kernel.org>, imx@...ts.linux.dev,
arm-soc <linux-arm-kernel@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Peng Fan <peng.fan@....com>
Subject: i.MX8M Nano ISI Channel Question
NXP-
I am trying use Libcamera to capture video on an i.MX8M Nano.
(Hopefully, this makes Laurent smile)
I noticed that it has a maximum capture of 1080 lines when I query it
with Libcamera, but the same camera on the Mini can capture at higher
rates. The multimedia overview states it can handle 1 unprocessed
camera stream at 4kp30 without scaling. The Nano's Ref manual later
states that each processing channel has one line buffer, and each line
buffer can store up to 2048 pixels. It continues to describe when
processing higher resolution images like 4k, the line buffer from
other channels can be combined.
Section 13.4.3.5 of the Nano's Ref manual (Rev 2, dated 07/2022)
explicitly goes into detail on how to capture up to 4k image
resolution by combining channel 'n' with channel 'n+1' which implies
there are at least two channels.
Section 13.4.5.1 states the registers are dedicated for each channel
and spaced 64KB apart, but then the following table only shows the
base address for one, and Table 2-6 shows the ISI size is 64KB.
The driver is currently written to only support 1 channel. When
reading through the driver, it appears to require one IRQ per channel,
so I looked through the Nano's IRQ table (7-1), and found there are
three:
ISI Camera Channel 0 Interrupt - 16
ISI Camera Channel 1 Interrupt - 42
ISI Camera Channel 2 Interrupt - 43
I attempted to enable a second channel by modifying the .num_channels
= 2 value in the driver, and I modified my device tree to assign a
second IRQ (42), but when I query the pipeline with libcamera, it
still doesn't show an available resolution ov 2592x1944 that is
supported by the camera and work on the Mini without the ISI system.
Can someone tell me how many channels are actually available, and
whether or not 4Kp30 video is really available on the Nano?
Thank you,
adam
Powered by blists - more mailing lists