[PATCH v1 0/4] Raspberry Pi: Add support for Pi 5 (PiSP)
Kieran Bingham
kieran.bingham at ideasonboard.com
Wed Mar 19 00:29:01 CET 2025
Hi Christian,
Quoting Christian Rauch (2025-03-18 22:30:31)
> Hi Naush,
>
> Thanks for the efforts upstreaming the Raspberry Pi 5 support. Is this
> something that is still being worked on? Is there a rough timeline when
> the Raspberry Pi 5 will be supported via the upstream libcamera version?
I'm afraid the biggest delay was getting the CI integrated and then to
build cleanly, after these patches were posted. Naush did a great job
at fixing libpisp before Embedded World, so everything is ready as far
as I'm aware for Pi5 libcamera support to be merged ...
The only issue remaining is that this week the gitlab.freedesktop.org
servers are down for migration as the hosting providers are being
changed over.
> As far as I understand from Jacopo's patch to the LKML [1], all the
> kernel bits are in place and only the "PiSP Front End" (in libpisp?) and
> the actual libcamera IPAs and pipelines are missing. But this is already
> 10 months ago and I am not fully aware of the progress and to which
> degree the Raspberry Pi 5 is already supported by upstream libcamera.
>
> Since I am providing an application based on libcamera (a ROS 2 node) to
> cover generic V4L2 devices as well as the Raspberry Pi Camera Modules,
> and I am dealing with frequent issue reports as to why the Raspberry Pi
> Camera Modules do not work with libcamera, I am essentially wondering if
> this situation will resolve itself in the near future, or if the
> Raspberry Pi fork of libcamera and the upstream version will continue to
> exist in parallel like this indefinitely.
>
> Is there anything I could help with to make this upstreaming of the
> Raspberry Pi 5 support happen?
I very sincerely hope and expect to be able to merge it next week, and
will be targetting the next libcamera release the week after.
Please keep an eye on the IMPORTANT NOTE below though. I believe there
is still some compatibility issues between 'mainline' kernel and
'raspberry pi' kernel to keep an eye on.
--
Kieran
>
> Best,
> Christian
>
> [1]
> https://lore.kernel.org/all/20240531080707.34568-1-jacopo.mondi@ideasonboard.com/
>
>
> Am 13.01.25 um 10:24 schrieb Naushir Patuck:
> > Hi,
> >
> > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to
> > upstream libcamera. The IPA and pipeline handler code have been taken mostly
> > unchanged from the Raspberry Pi downstream libcamera tree:
> > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not
> > available in this series since we have yet to attempt to upstream the kernel
> > changes.
> >
> > IMPORTANT NOTE
> > --------------
> > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi
> > kernel drivers just yet! Instead, you must use the mainline kernel upstream
> > drivers with this pipeline handler. When futher upstreaming development for
> > embedded data is completed, RPi will backport the upstream kernel drives to our
> > tree and this pipeline handler will then begin to work with both upstream and
> > downstream kernel trees.
> >
> > Thanks,
> > Naush
> >
> > Naushir Patuck (4):
> > meson: Add libpisp.wrap
> > ipa: rpi: Add support for Raspberry Pi 5
> > pipeline: rpi: Add new stream flags for PiSP
> > pipeline: rpi: Add support for Raspberry Pi 5
> >
> > Documentation/guides/pipeline-handler.rst | 2 +-
> > include/libcamera/ipa/meson.build | 1 +
> > include/libcamera/meson.build | 1 +
> > meson.build | 1 +
> > meson_options.txt | 4 +-
> > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++
> > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++
> > src/ipa/rpi/pisp/data/imx290.json | 341 +++
> > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++
> > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++
> > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++
> > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++
> > src/ipa/rpi/pisp/data/imx378.json | 634 +++++
> > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++
> > src/ipa/rpi/pisp/data/imx462.json | 342 +++
> > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++
> > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++
> > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++
> > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++
> > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++
> > src/ipa/rpi/pisp/data/imx519.json | 634 +++++
> > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++
> > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++
> > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++
> > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++
> > src/ipa/rpi/pisp/data/meson.build | 29 +
> > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++
> > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++
> > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++
> > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++
> > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++
> > src/ipa/rpi/pisp/data/uncalibrated.json | 135 +
> > src/ipa/rpi/pisp/meson.build | 49 +
> > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++
> > src/libcamera/control_ids_rpi.yaml | 13 +
> > .../pipeline/rpi/common/rpi_stream.h | 10 +
> > .../pipeline/rpi/pisp/data/example.yaml | 45 +
> > .../pipeline/rpi/pisp/data/meson.build | 8 +
> > src/libcamera/pipeline/rpi/pisp/meson.build | 12 +
> > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++
> > subprojects/.gitignore | 1 +
> > subprojects/libpisp.wrap | 6 +
> > 42 files changed, 28410 insertions(+), 2 deletions(-)
> > create mode 100644 src/ipa/rpi/pisp/data/imx219.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx290.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx296.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx378.json
> > create mode 100755 src/ipa/rpi/pisp/data/imx415.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx462.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx477.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx519.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx708.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json
> > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json
> > create mode 100644 src/ipa/rpi/pisp/data/meson.build
> > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json
> > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json
> > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json
> > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json
> > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json
> > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json
> > create mode 100644 src/ipa/rpi/pisp/meson.build
> > create mode 100644 src/ipa/rpi/pisp/pisp.cpp
> > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml
> > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build
> > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build
> > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp
> > create mode 100644 subprojects/libpisp.wrap
> >
>
More information about the libcamera-devel
mailing list