1*3cd9b701SBin Du.. SPDX-License-Identifier: GPL-2.0 2*3cd9b701SBin Du 3*3cd9b701SBin Du.. include:: <isonum.txt> 4*3cd9b701SBin Du 5*3cd9b701SBin Du==================================== 6*3cd9b701SBin DuAMD Image Signal Processor (amdisp4) 7*3cd9b701SBin Du==================================== 8*3cd9b701SBin Du 9*3cd9b701SBin DuIntroduction 10*3cd9b701SBin Du============ 11*3cd9b701SBin Du 12*3cd9b701SBin DuThis file documents the driver for the AMD ISP4 that is part of 13*3cd9b701SBin DuAMD Ryzen AI Max 300 Series. 14*3cd9b701SBin Du 15*3cd9b701SBin DuThe driver is located under drivers/media/platform/amd/isp4 and uses 16*3cd9b701SBin Duthe Media-Controller API. 17*3cd9b701SBin Du 18*3cd9b701SBin DuThe driver exposes one video capture device to userspace and provide 19*3cd9b701SBin Duweb camera like interface. Internally the video device is connected 20*3cd9b701SBin Duto the isp4 sub-device responsible for communication with the CCPU FW. 21*3cd9b701SBin Du 22*3cd9b701SBin DuTopology 23*3cd9b701SBin Du======== 24*3cd9b701SBin Du 25*3cd9b701SBin Du.. _amdisp4_topology_graph: 26*3cd9b701SBin Du 27*3cd9b701SBin Du.. kernel-figure:: amdisp4.dot 28*3cd9b701SBin Du :alt: Diagram of the media pipeline topology 29*3cd9b701SBin Du :align: center 30*3cd9b701SBin Du 31*3cd9b701SBin Du 32*3cd9b701SBin Du 33*3cd9b701SBin DuThe driver has 1 sub-device: Representing isp4 image signal processor. 34*3cd9b701SBin DuThe driver has 1 video device: Capture device for retrieving images. 35*3cd9b701SBin Du 36*3cd9b701SBin Du- ISP4 Image Signal Processing Subdevice Node 37*3cd9b701SBin Du 38*3cd9b701SBin Du--------------------------------------------- 39*3cd9b701SBin Du 40*3cd9b701SBin DuThe isp4 is represented as a single V4L2 subdev, the sub-device does not 41*3cd9b701SBin Duprovide interface to the user space. The sub-device is connected to one video node 42*3cd9b701SBin Du(isp4_capture) with immutable active link. The sub-device represents ISP with 43*3cd9b701SBin Duconnected sensor similar to smart cameras (sensors with integrated ISP). 44*3cd9b701SBin Dusub-device has only one link to the video device for capturing the frames. 45*3cd9b701SBin DuThe sub-device communicates with CCPU FW for streaming configuration and 46*3cd9b701SBin Dubuffer management. 47*3cd9b701SBin Du 48*3cd9b701SBin Du 49*3cd9b701SBin Du- isp4_capture - Frames Capture Video Node 50*3cd9b701SBin Du 51*3cd9b701SBin Du------------------------------------------ 52*3cd9b701SBin Du 53*3cd9b701SBin DuIsp4_capture is a capture device to capture frames to memory. 54*3cd9b701SBin DuThe entity is connected to isp4 sub-device. The video device 55*3cd9b701SBin Duprovides web camera like interface to userspace. It supports 56*3cd9b701SBin Dummap and dma buf types of memory. 57*3cd9b701SBin Du 58*3cd9b701SBin DuCapturing Video Frames Example 59*3cd9b701SBin Du============================== 60*3cd9b701SBin Du 61*3cd9b701SBin Du.. code-block:: bash 62*3cd9b701SBin Du 63*3cd9b701SBin Du v4l2-ctl "-d" "/dev/video0" "--set-fmt-video=width=1920,height=1080,pixelformat=NV12" "--stream-mmap" "--stream-count=10" 64