[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