[PATCH 00/10] media: Add support for Raspberry Pi 4 ISP
Jai Luthra
jai.luthra at ideasonboard.com
Wed Jan 21 22:31:57 PST 2026
Hi Stefan,
Quoting Stefan Wahren (2026-01-22 00:06:23)
> Hi Jai,
>
> Am 13.01.26 um 10:05 schrieb Jai Luthra:
> > Hi,
> >
> > This series adds support for the ISP used in Raspberry Pi 4 (and earlier
> > variants) by adding the bcm2835-isp V4L2 driver.
> could you please point me to the upstream patch, which enables VCHIQ
> support for Raspberry Pi 4?
The VCHIQ driver currently in upstream is working fine in my testing with
the ISP on Raspberry Pi 4.
arch/arm/boot/dts/broadcom/bcm2711-rpi.dts inherits the vchiq device tree
node from bcm2835-rpi.dts, which uses the "brcm,bcm2835-vchiq" compatible.
>
> AFAIR only Raspberry Pi 0 - 3 were officially supported.
>
Ah my bad. Do you know which peripheral requires the changes to VCHIQ and
DMA to function properly on Pi 4?
I saw the downstream tree defines new bcm2711-* compatibles for the DMA
engine and VCHIQ, mostly for 36-bit address support. I had those patches in
my tree at some point while debugging, but dropped them as the issue was
found in the firmware clock management.
If 36-bit addresses are indeed required for some ISP feature I didn't
notice, I can add those patches back before posting the next revision.
> Best regards
> >
> > The underlying hardware for the ISP is accessed through the VideoCore
> > VPU, via the VCHIQ/MMAL interface that was recently destaged under
> > platform/raspberrypi. The ISP driver, and thus this series depends on
> > VCSM CMA driver for shared memory support (for lens shading buffers):
> >
> > https://lore.kernel.org/all/20260105-b4-vc-sm-cma-v2-0-4daea749ced9@ideasonboard.com/
> >
> > The ISP driver introduced in this series has been taken from the one
> > present in the downstream raspberrypi 6.12 tree, squashing together
> > various commits, along with minor cleanups and renaming directories. For
> > testing it with libcamera, please use this branch that supports upstream
> > unicam and the correct base ID for ISP controls:
> >
> > https://github.com/jailuthra/libcamera/tree/pi4-upstream
> >
> > Thanks,
> > Jai
Thanks,
Jai
> >
> > Signed-off-by: Jai Luthra <jai.luthra at ideasonboard.com>
> > ---
> > Dave Stevenson (1):
> > media: videobuf2: Allow exporting of a struct dmabuf
> >
> > Jai Luthra (5):
> > platform/raspberrypi: vchiq-mmal: Move headers to include/linux
> > platform/raspberrypi: vchiq-mmal: Support ISP parameters and stats
> > platform/raspberrypi: vchiq-mmal: Support bayer and gray formats
> > platform/raspberrypi: vchiq: Add helpers for vchiq driver data
> > media: platform: broadcom: Move unicam driver to subdir
> >
> > Naushir Patuck (4):
> > media: uapi: v4l-ctrls: Add CID base for the bcm2835-isp driver
> > media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type
> > media: platform: broadcom: Add bcm2835-isp driver
> > platform/raspberrypi: vchiq: Load bcm2835_isp driver from vchiq
> >
> > Documentation/admin-guide/media/bcm2835-isp.rst | 127 ++
> > .../userspace-api/media/drivers/index.rst | 1 +
> > .../userspace-api/media/v4l/meta-formats.rst | 1 +
> > .../media/v4l/pixfmt-meta-bcm2835-isp-stats.rst | 35 +
> > MAINTAINERS | 12 +-
> > drivers/media/common/videobuf2/videobuf2-core.c | 21 +-
> > drivers/media/platform/broadcom/Kconfig | 23 +-
> > drivers/media/platform/broadcom/Makefile | 3 +-
> > .../media/platform/broadcom/bcm2835-isp/Kconfig | 14 +
> > .../media/platform/broadcom/bcm2835-isp/Makefile | 4 +
> > .../broadcom/bcm2835-isp/bcm2835-isp-ctrls.h | 73 +
> > .../broadcom/bcm2835-isp/bcm2835-isp-fmts.h | 558 ++++++
> > .../broadcom/bcm2835-isp/bcm2835-v4l2-isp.c | 1836 ++++++++++++++++++++
> > .../media/platform/broadcom/bcm2835-unicam/Kconfig | 23 +
> > .../platform/broadcom/bcm2835-unicam/Makefile | 3 +
> > .../{ => bcm2835-unicam}/bcm2835-unicam-regs.h | 0
> > .../broadcom/{ => bcm2835-unicam}/bcm2835-unicam.c | 0
> > drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
> > .../raspberrypi/vchiq-interface/vchiq_arm.c | 2 +
> > .../platform/raspberrypi/vchiq-mmal/mmal-vchiq.c | 9 +-
> > .../linux/raspberrypi}/mmal-common.h | 2 +
> > .../linux/raspberrypi}/mmal-encodings.h | 68 +
> > .../linux/raspberrypi}/mmal-msg-common.h | 0
> > .../linux/raspberrypi}/mmal-msg-format.h | 0
> > .../linux/raspberrypi}/mmal-msg-port.h | 0
> > .../linux/raspberrypi}/mmal-msg.h | 0
> > .../linux/raspberrypi}/mmal-parameters.h | 86 +
> > .../linux/raspberrypi}/mmal-vchiq.h | 0
> > include/linux/raspberrypi/vchiq_arm.h | 1 +
> > include/linux/raspberrypi/vchiq_bus.h | 10 +
> > include/media/videobuf2-core.h | 15 +
> > include/uapi/linux/bcm2835-isp.h | 347 ++++
> > include/uapi/linux/v4l2-controls.h | 6 +
> > include/uapi/linux/videodev2.h | 1 +
> > 34 files changed, 3252 insertions(+), 30 deletions(-)
> > ---
> > base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
> > change-id: 20250923-b4-vchiq-isp-7e8c22c2860c
> > prerequisite-message-id: 20260105-b4-vc-sm-cma-v2-0-4daea749ced9 at ideasonboard.com
> > prerequisite-patch-id: 07e50207cc947f44e1d626b31d0ace7e12a8f3a1
> > prerequisite-patch-id: 3d82a2605799686668729fdc2677c3f6b7c2aa0d
> > prerequisite-patch-id: f65e3f6e8db823fcfc37421da10a76f92cf56d9d
> > prerequisite-patch-id: dbfc2fc4237c738e499e802be972dd8f2736a714
> > prerequisite-patch-id: 1898d91213e9bd75be3109180527fb0caf6d7174
> > prerequisite-patch-id: d0cfc49c673c8c4a4c13d44a547104c24f57cb49
> >
> > Best regards,
>
More information about the linux-arm-kernel
mailing list